System for delivering and enabling interactivity with images

ABSTRACT

A system, including apparatuses, software and methods, is disclosed for capturing and delivering images as to which various interactive functions are enabled for a user. The images introduced to the system can come from any one of a variety of sources, including from a digital camera. A graphical user interface permits a user to customize a set of interactive functions to be enabled for a given set of images. The interactively enabled images can be delivered via a webpage to a user, for example, via email, the Internet or downloaded from a disk or from disk drive on a computer on which the webpage is stored. Each image is delivered to a user in its own layer of software, which permits complex sets of images of relatively high resolution to be delivered to users without any appreciable delay associated with the delivery or the need for the user to have additional software, such as a plug-in to receive images and enable interactive functions with respect to the images. Whenever an interactive function is being carried out, a viewer perceives only one image layer at a given time, but the currently viewable image layer can be changed rapidly, so that the user can perceive the illusion of motion, including virtual rotation of an object depicted in a set of images.

RELATED APPLICATIONS

This application is a continuation of application Ser. No. 13/154,881,filed Jun. 7, 2011; which is a continuation of application Ser. No.12/834,844, filed Jul. 12, 2010, now U.S. Pat. No. 7,956,872; which is acontinuation of application Ser. No. 12/476,179, filed Jun. 1, 2009, nowU.S. Pat. No. 7,755,643; which is a continuation of application Ser. No.10/884,240, filed Jul. 2, 2004, now U.S. Pat. No. 7,542,050; which is acontinuation-in-part of application Ser. No. 10/791,965, filed Mar. 3,2004, now U.S. Pat. No. 7,262,783, the disclosures of which are herebyincorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates generally to systems, including apparatuses andmethods, for capturing, processing and displaying images and, moreparticularly, to systems for capturing, processing and displaying orotherwise outputting images so that a user or viewer can manipulate orotherwise interact with the display/output in one or more ways, such asto give the appearance of two-dimensional (2-D) or three-dimensional(3-D) motion.

2. The Prior Art

There is a demand in the art for systems, including apparatuses andmethods, whereby images, either displayed via a computer screen, someother display device, or stored or rendered in some other medium, can bemanipulated or interacted with by a user in some fashion, for example,to impart the illusion of movement in two dimensions or three dimensionsto an object depicted in an image or images.

Systems and methods are known in which images can be downloaded on webpages to a user's browser through an Internet Service Provider (ISP),stored in the cache memory of the user's computer hard drive, anddisplayed to the user where thereafter the user is provided with certainoptions with respect to the images which, when exercised, give the userthe perception of interaction with the images in some fashion.

For example, a retailer might maintain a website with an on-line catalogfeature. A user can access the website from his or her computer, selectan item in the catalog, and the web page corresponding to that item willbe sent to the user's computer in response to the request. The web pageconsists of software that determines what will be displayed to the user(typically, the software is written in accordance with a standardizedprotocol, such as HTML (“Hypertext Markup Language”) or XML (“ExtensibleHypertext Markup Language”).

Upon delivery to the user, the web page typically is stored in cachememory on the hard drive of the user's computer. If the web page isconfigured to permit some form of interactivity with the image(s) by theuser, the user may be able, for example, to view an item in the catalog,such, as a sweater, that is originally presented in the color black, inalternative colors such as white or pink. To engage in this type ofinteractivity, the user might be prompted to click with his or her mouseon a color chart or some other icon so that the color of the sweaterchanges from black to white or from black to pink, to see what the itemwould look like in a different color. Similarly, the user might be ableto click on the image or on some other icon to see an enlarged view ofan item, e.g., a “zoom” of the item.

With such prior art systems, however, the more complex the content ofthe web page, generally the longer it takes to deliver the web page tothe user and to ready image(s) for display or interactivity. Forexample, a file that corresponds to a single, relatively high-resolutionimage (e.g., an image with a resolution of 1024×768 pixels) is largerthan, and therefore will take longer to deliver than, a lower resolutionimage (e.g., an image with a resolution of 320×240 pixels). Thus, priorart systems might offer users lower resolution images in order to avoidthe extended delivery time that would be perceived by the user if higherresolution images were to be offered. The lower resolution of thedelivered images leads to a disadvantage in prior art systems in whichone of the possible interactive functions is a “zoom” function. That is,the quality of an image when it is zoomed in on, depends in part on theresolution of an image. The higher the resolution of an image, generallythe longer it takes to deliver the image to a user. Thus, maximumresolution of a zoomed-in-on image often must be sacrificed in favor offaster image delivery times in these systems. Consequently, prior artsystems typically start by delivering images of lower resolution (e.g.,320×240 pixels) to a user, such that when a zoom interactive function islater initiated, the zoomed-in-on image appears less clear or less sharpthan the original image (i.e., the non-zoomed-in-on image), or evenbecomes distorted (e.g., pixelated) upon zooming. Thus, there is a needfor a system that allows delivery of, and subsequent interactivity with,an image or images that will have quality resolution even upon zooming.The present invention satisfies this need.

Moreover, when prior art systems offer users the option of aninteractive function with respect to images that results in the illusionof a virtual 3-D effect, such as, the illusion of rotation of an objectthrough three dimensions, multiple images of the object are required toachieve the effect. Typically, a set of images of the object are takenthrough 360 degrees in a particular plane. The greater the number ofimages, the smoother the rotation effect will be when the interactivefunction is later carried out. In order to deliver the multiple imagesto the user, however, prior art systems first combine the multipleimages into a single file and then deliver that file to the user. Themore the images, the larger the file. The larger the file, the longerthe images take to be delivered. In these systems, therefore, tradeoffsmight have to be made that disadvantageously affect the quality of theinteractive functions that a user can carry out with respect to theimages, in order to avoid lengthy delivery times. Alternatively, theuser will just have to accept long delivery times in order to viewimages using the prior art systems.

Accordingly, web pages containing images with which a user has somelimited opportunity to interact can take too long, from the perspectiveof the user, between the time a request is made for the web page and thetime the image(s) on the web pages are first perceptible to the user andthen made available for any interactivity.

Further, prior art systems that provide a user with the opportunity tocarry out more sophisticated interactive functions with respect to animage or images on a web page, such as obtaining different perspectiveviews of an object in an image (e.g., front, back and side views),360-degree views (e.g., a panoramic view of a piece of real estate or ofthe inside of a hotel room), or zooming in on an object in an image,often require supplemental software or software in addition to thatcontained on the web page in order to enable these interactivefunctions. Such additional software commonly is provided in the form ofa “plug-in,” a software program that the user either already mustpossess on his or her local computer's hard drive or which must bedownloaded to the user's local computer before any higher levelinteractive functions may be initiated. The necessity for a plug-in as aprerequisite to interactivity is an added level of complexity that itwould be desirable to eliminate. The plug-in also may be associated witha fee or some other commitment the user would rather avoid, may requirea separate, time-consuming procedure to download and install and, maygenerally detract from a user's enjoyment of, or willingness to use, aparticular website.

Software protocols have been developed, for example, DHTML (“DynamicHypertext Markup Language”), which are designed to allow programmers toconstruct web pages that have the capacity for a higher degree of userinteractivity. To date, however, no software has been developed thatadvantageously: (1) provides a user with the ability to rapidly perceiveimages on a web page, howsoever complex, after the request for the webpage is processed; and (2) permits a sophisticated level ofinteractivity and a broad range of interactive options with respect toimages, once the web page has been delivered. Thus, there is a need inthe art for an improved system for rapidly delivering images to a userwith which a user can initiate a broad range of advanced interactivefunctions. The present invention satisfies these needs.

SUMMARY OF THE INVENTION

Briefly, and in general terms, the system according to the inventiondelivers a set of images to a user in a form with which the user canundertake a variety of interactive functions, so as, for example, toallow a user to view an object in virtual 3-D or to interact with it intwo dimensions. Where only a 2-D effect is desired, the set of imagesneed only comprise a single image for the interactive functions to beenabled.

Optionally, images are edited as to features such as background color,unwanted extraneous artifacts, etc., prior to being introduced to thesoftware of the system and delivered to a user.

In one aspect on the invention, features are provided that have theeffect of optimizing the speed with which a user perceives a set ofimages to be delivered in response to a user's request for the set ofimages, whereby the set of images is delivered via software implementedthrough or embedded on a web page that permits each of the set of imagesto be provided in image layers according to the layering featureavailable in software protocols such as, but not limited to, DHTML. Onlyone of the images in the set of images is viewable or perceivable by theuser at any one time, and, at the moment of delivery, the user is ableto immediately perceive a selected one of the images while the remainderof the images comprising the set of images are delivered after it. Whereonly one image is needed in order to carry out an interactive function,e.g., zooming in on an image of an object taken at just one angle, theset of images will only comprise a single image, and the same layeringtechnique can be applied to deliver, for example, a single image withrelatively high resolution to the user without the user's perceiving anyappreciable delay associated with the delivery process.

Optionally, and in accordance with another aspect of the invention, eachimage in a given set of images can be split via software into multipleparts, prior to commencement of delivery of the images (e.g., duringediting), such that if the connection over which delivery takes place isinterrupted for some reason during the delivery process, those parts ofthe image for which delivery has been completed do not need to bere-sent when the connection is reestablished.

According to still another aspect of the invention, in addition to theimage layers corresponding to a set of images that are delivered to auser in response to the request for the image(s), a tool bar layer isprovided with a tool bar that is made viewable to the user along with acurrently viewable image layer. Optionally, the tool bar can be provideddirectly in the currently viewable image layer, as opposed to in adedicated tool bar layer.

In still another aspect of the invention, a transparent layer isprovided in which commands from a mouse (or other device capable ofdelivering commands comparable to those deliverable by a mouse) can beinterpreted by the system and carried out such that, for example, whenthe transparent layer is moved, each of the image layers is moved alongwith it. The transparent layer is invisible to the user, but in terms ofthe configuration of the display, the transparent layer is preferablydisposed between the tool bar layer and the currently viewable imagelayer. Optionally, the transparent layer can be eliminated, and thecommands from a mouse can be interpreted by the system from thecurrently viewable image layer.

In a further aspect of the invention, both a first transparent layer anda second transparent layer are provided, where the second transparentlayer remains fixed with respect to the first transparent layer, so thatwhen a mouse is dragged to move the first transparent layer from a firstset of coordinates to a second set of coordinates, a line correspondingto the distance the mouse has been dragged by a user can be drawn on thesecond transparent layer. Optionally, the second transparent layer canbe eliminated, and a line corresponding to the distance the mouse hasbeen dragged by a user can be drawn directly on the currently viewableimage layer.

The interactive functions can include: (1) permitting a user to move thetool bar around on the display, for example, to move it out of the wayof the currently viewable image layer; (2) zooming in or out of anobject depicted in the currently viewable image layer; (3) resetting thecurrently viewable image layer, together with any tool bar layer andtransparent layer that might be provided, to the condition the layerswere in at the point of delivery of the set of images to the user; (4)measuring an object depicted in a set of images and obtaininginformation corresponding to the actual physical dimensions of theobject; (5) causing an object depicted in a set of images to appear asif the object were automatically rotating to the right or,alternatively, to the left, to a degree and within a period of timeautomatically controlled by the system (“autorotate”); and (6) causingan object depicted in a set of images to appear as if the object isrotating to the right or to the left, to a degree and within a period oftime controlled by the user via user commands delivered to the systemby, for example, a mouse (“manual rotate”).

In a still further aspect of the invention, multiple sets of images thatare enabled for interactivity and with which a user can view andinteract are provided on a single downloaded webpage. By selecting anddeselecting among these sets of images, a user can carry out variousinteractive functions on the user's display with respect each one of thedifferent sets of images on the webpage.

In another aspect of the invention, an enhanced zoom interactivefunction is provided in the case where an object or scene depicted in aset of images has a height greater than its width, whereby whicheverimage in whatever state a user is currently viewing staysproportionately within the user's field of view, for example, when auser zooms out of an image that of an object has a height greater thanits width, and then zooms back into the image, the zoomed-out-of imageremains in the viewable area of the user's display.

In another aspect of the invention, another enhanced zoom interactivefunction is provided that allows a user to focus a zoom operation on aparticular area of an image, whereby the zoomed-in-on image ispositionally adjusted to appear centered about a desired x, y point onthe user's display, such as about the center of the user's display.

In a still further aspect of the invention, sets of images are providedwith pre-defined highlighted areas that can be selected by a user toview supplemental information about the object(s) or scene(s) depictedin the sets of images, such as technical specifications and the like.The location of the highlighted areas relative to the image to whichthey pertain remains constant, even if an interactive function carriedout with respect to an image in a set of images, e.g., a zoominteractive function.

In yet another aspect of the invention, sets of images are associatedwith a menu options feature that allows the user to choose from amongseveral options that are provided in a menu with respect to an object orobjects or scene depicted in a particular set of images, such as price,available sizes, available accessories and the like.

In another aspect of the invention, sets of images are associated withan appearance modifying feature that allows the user to modify theappearance of the object(s) or scene(s) depicted in a set of images, forexample, to change the colors of the object(s) or scene(s) or to swapout one object for another.

In another aspect of the invention, sets of images are associated with afeature that, when invoked by a user, has the effect of transporting theuser from the webpage on which the sets of images are associated to someother place, such as a page on a third party provider's website used bythe third party provider for assisting a user in purchasing an item,etc.

In a still further aspect of the invention, a feature allows a user todisplay information about a transaction, complete a transaction, orprovide information that is useful or necessary in ultimately completinga transaction on the same webpage as are provided the sets of images.

In another aspect of the invention, an enhanced tool bar is providedwhich is characterized by aesthetically-pleasing smoothness as a usermoves from one tool bar button or icon to the next, for example byscrolling over the tool bar button with a mouse or clicking on it,whereby tool bar buttons are highlighted for the user and a label ordescription of what the tool bar button is for appear or pop-up withoutexcessively distorting any of the tool bar buttons or without theappearance of tool bar buttons popping up with their associated labelsor description in a manner that is out of sync with the other tool barbuttons.

In yet another aspect of the invention, webpages with sets of imagescharacterized by software code that both enables various interactivefunctions as described herein and allows those interactive functions tobe carried out, are deliverable to a user via email without risk thatthe content of the email and/or the configuration or location of theimages will prevent the user from carrying out the available interactivefunctions upon receipt of the email.

In a further aspect of the invention, a graphical user interface isprovided that allows a user to configure a set of images so that the setof images will enabled for various interactive functions as describedherein, when provided on a webpage that allows the interactive functionsto be carried out, for example, by prompting a user to provideparameters concerning the images in a set of images corresponding to theparameters necessary to enable and allow to be carried out theinteractive functions of zooming or focus zooming, measuring, calling upsupplemental information about an object, selecting from various menuoptions concerning an image, modifying the appearance (e.g., color) ofan object in an image, repositioning a tool bar, etc.

Other features and advantages of the present invention will becomeapparent from the following detailed description, taken in conjunctionwith the accompanying drawings, which illustrate by way of example, thefeatures of the present invention.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

FIG. 1 is a schematic view of a system according to a preferredembodiment of the present invention.

FIG. 2 is a schematic view of a set of images to be introduced into apreferred embodiment of a system according to the present invention.

FIG. 3 is a perspective view of one method of acquiring a set of imagesto be introduced into a preferred embodiment of a system according tothe invention.

FIG. 4 is a schematic diagram of certain processing steps according to apreferred embodiment of a system according to the invention.

FIG. 5 is a schematic view of a layering technique used in oneembodiment of a system according to the present invention.

FIG. 6 is a schematic view of an image that has been “split” intosixteen parts according to one embodiment of a system according to thepresent invention.

FIG. 7 is a perspective view of a tool bar in accordance with oneembodiment of a system according to the present invention.

FIG. 8 is a perspective view of a display according to one embodiment ofa system according to the invention before a tool bar has been moved.

FIG. 9 is a perspective view of a display according to one embodiment ofa system according to the invention after a tool bar has been moved.

FIG. 10 is a perspective view of a display according to one embodimentof a system according to the invention before a zoom-in function hasbeen performed.

FIG. 11 is a perspective view of a display according to one embodimentof a system according to the invention after a zoom-in function has beenperformed.

FIG. 12 is a perspective view of a display according to one embodimentof a system according to the invention before a reset function has beenperformed.

FIG. 13 is a perspective view of a display according to one embodimentof a system according to the invention after a reset function has beenperformed.

FIG. 14 is a schematic illustration of the relative movement of firstand second transparent layers according to one embodiment of theinvention, while a measuring function is being performed.

FIG. 15 is a perspective view of a display of a system according to theinvention after a measuring function has been performed.

FIG. 16 is a perspective view of a display of a system according to theinvention illustrating the display before and after a move function hasbeen performed.

FIG. 17 is a schematic illustration of the possible content of a displayof a system according to the invention wherein a user may carry outinteractive functions with respect to multiple images on a singlewebpage.

FIG. 18 is a schematic illustration of an actual image according to theinvention.

FIG. 19 is a schematic illustration of a default image according to theinvention.

FIG. 20 is a schematic illustration of an original or pre-zoom imageaccording to the invention.

FIG. 21 is a schematic illustration of a zoomed-in-on image according tothe invention.

FIG. 22 is a schematic illustration of the height and width of an imagein an image layer according to the invention.

FIG. 23 is a schematic illustration of an image having a height greaterthan its width.

FIG. 24 is a perspective view of a display of a system in which theposition of a zoomed-in on image shifts off the display when the heightof the image is greater than the width.

FIG. 25 is a perspective view of a display of a system in which theposition of a zoomed-in on image shifts off the display when the heightof the image is greater than the width and the image is zoomed back inon.

FIG. 26 is a perspective view of a display of the system according toone embodiment of the invention wherein an original or pre-zoom image ismoved to a position that coincides with the center point of the defaultimage.

FIG. 27 is a perspective view of a display of the system of FIG. 26wherein an original or pre-zoom image is enlarged according to the zoomfactor, z.

FIG. 28 is a perspective view of a display of the system of FIG. 26wherein the center point of the zoomed-in-on image is repositioned alongthe x- and y-axes to keep the image within the user's display.

FIG. 29 is a schematic view of the layers used in implementing the focuszoom interactive function according to one embodiment of the system ofthe invention.

FIG. 30 a is a perspective view of a display of the system of onepreferred embodiment of the invention illustrating the user-definedpolygon of the focus zoom interactive function.

FIG. 30 b is a schematic view of a display of the system of onepreferred embodiment of the invention illustrating the repositioning ofthe pre-zoom image to the upper left-hand corner of the default image inconnection with the focus zoom interactive function.

FIG. 30 c is a schematic view of the display of FIG. 30 b, after thepre-zoom image has been repositioned to the upper left-hand corner ofthe default image.

FIG. 30 d is a schematic view of the display of FIG. 30 c, after thepre-zoom image has been enlarged by the focus zoom factor.

FIG. 30 e is a schematic view of the display of FIG. 30 d, illustratinga repositioning of the zoomed-in-on image.

FIG. 30 f is a schematic view of the display of FIG. 30 e, illustratinga further repositioning of the zoomed-in-on image.

FIG. 30 g is a schematic view of the display of FIG. 30 f, illustratinganother repositioning of the zoomed-in-on image.

FIG. 30 h is a schematic view of the display of FIG. 30 g, after therepositioning of the zoomed-in-on image has been accomplished.

FIG. 30 i is a schematic view of the display of FIG. 30 h, illustratinga scaled polygon being drawn on the zoomed-in-on image.

FIG. 30 j is a schematic view of a display of FIG. 30 i, illustratingthe repositioning of the zoomed-in-on image to the center of the user'sdisplay.

FIG. 30 k is a schematic view of the thumb and track of the tool barbutton for the standard zoom interactive function, during an adjustmentof the position of the thumb along the track in connection with a focuszoom interactive function.

FIG. 31 is a perspective view of a display of the system of onepreferred embodiment of the invention illustrating the supplementalinformation interactive function.

FIG. 32 is another perspective view of the display of the system of FIG.31 after a highlighted area has been selected and supplementalinformation corresponding to the highlighted area is displayed.

FIG. 33 is a schematic view of a display of the system of one preferredembodiment of the invention illustrating the some of the layers used inimplementing the supplemental information interactive function.

FIG. 34 a is a schematic view of a display of the system of onepreferred embodiment of the invention illustrating the menu optionsinteractive function.

FIG. 34 b is another schematic view of the display of the system of FIG.34 a.

is a schematic view of a display of the system of one preferredembodiment of the invention illustrating the menu options interactivefunction.

FIG. 35 a is a schematic view of a display of the system of onepreferred embodiment of the invention illustrating the appearancemodifying interactive function.

FIG. 35 b is another schematic view of the display of the system of FIG.35 a.

FIG. 36 a is a perspective view of a tool bar of the system according toone preferred embodiment of the invention showing various tool barbuttons, including a tool bar button for invoking the transportinteractive function.

FIG. 36 b is a perspective view of an alternative tool bar of the toolbar illustrated in FIG. 36 a.

FIG. 36 c is a perspective view of an alternative tool bar of the toolbar illustrated in FIG. 36 a.

FIG. 37 is a schematic view of a tool bar of one preferred embodiment ofthe system of the invention, showing the tool bar buttons in one tablein the descriptive information about the tool bar buttons in anothertable.

FIG. 38 is a perspective view of a graphical user interface according toone preferred embodiment of the system of the invention.

FIG. 39 is another perspective view of the graphical user interface ofFIG. 38.

FIG. 40 is another perspective view of the graphical user interface ofFIG. 38.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Persons with ordinary skill in the art will appreciate that thefollowing description of the present invention is illustrative only andnot in any way limiting. Other embodiments of the invention will readilybe suggested to such skilled persons having the benefit of thisdisclosure.

Referring now to the drawings, wherein like reference numerals denotelike or corresponding parts throughout the drawings, and moreparticularly, to FIG. 1, there is shown a presently preferred embodimentof a system 10 according to the invention. One or more images 12comprising a set of images 14 are introduced to the system 10 forfurther processing, in order to make available certain interactivefunctions with respect to the set of images 14.

The number of images 12 in a set of images 14 depends, in part, on thelevel of sophistication of the interactive functions that are to beenabled for that set of images 14. For example, when the interactivefunctions to be carried out do not require a 3-D effect, only one image12 may be necessary for such interactive functions to be accomplished,accordingly, the set of images 14 may contain only a single image 12.However, if the user is to be able to interact with a set of images 14in order to perceive the illusion of 3-D, then more than one image 12will be necessary than if only a 2-D effect for the user is desired.

For a basic virtual 3-D image, the set of images 14 typically comprisessixteen images 12 of the object 16, where each image 12 of a targetobject or scene is taken from a different angle, while desirably keepingthe target object or scene at the same focal point for whatever deviceis used to capture the images 12. For example, with reference to FIG. 2,a set of images 14 is shown that comprises sixteen images 12 of anobject 16, which happens to be a camera, that were captured by a digitalcamera.

Referring now to FIG. 3, each image 12 shown was shot or taken from adifferent incremental angle about 360 degrees in certain plane of theobject 16, for example, every 22.5 degrees in the plane q of the object16, but the object 16 was kept at the same focal length from the digitalcamera that was used to take the pictures. Thus, it can be appreciatedthat if the sixteen images 12 were viewed in sequence and in rapidsuccession, then the viewer would effectively perceive a 360-degree viewin a particular plane q of the object 16.

If the level of interactivity to be enabled is more sophisticated, suchas allowing a user to virtually rotate an object in an image through afirst 360 degrees in a first plane and a second 360 degrees in a secondplane (i.e., to virtually spin an object in an image about two axes),then some multiple of sixteen images of the object 16 likely would berequired, such as thirty-two images. A gyroscopic effect, i.e., whereinan object appears to be capable of rotating in any plane, can beachieved if sufficient images in those planes are acquired. Although inthe foregoing examples the numbers of images happen to be sixteen and amultiple of sixteen, virtually any odd or even number of images could beemployed in keeping with the present invention.

In a preferred embodiment of the system 10 according to the invention,if the images 12 comprising a set of images 14 are not originally indigital form, the images 12 are converted from the original form intodigital form by any of several methods well known to those of ordinaryskill in the art before being the images 12 are introduced to the system10. It is contemplated, however, that in other embodiments of the system10 of the invention, the images 12 could be introduced to the system 10in any non-digital form, without the need for conversion to digital formif the original form is not digital.

Optionally, an editing facility or feature 32 is provided in which theimages 12 in the sets of images 14 can be edited before being submittedfor processing. In cases where a set of images 14 comprises a set ofimages of an object or scene taken from multiple angles, during theoptional editing feature 32, the discrete images can be combined into asingle image file, which subsequently can be edited with respect to suchfeatures as background color, contrast, brightness, grey scale, or anyother number of editable aspects of a digital photograph, such as madeavailable by several commercial editing programs.

For example, if the images 12 are a set of images 14 that has beenacquired by a digital camera then the set of images can be combined,either vertically or horizontally, to create a single image file. Thereare several commercially available software packages with which suchcombination and editing can be combined, such as the packages sold underthe trade name PHOTOSHOP by Adobe Systems, Inc. As will be obvious toone with ordinary skill in the art pertaining to this invention, otherediting software programs exist or can be developed which allow variousediting functions to be performed on combined sets of images.

Once combined in such an editing program, the images can be editedquickly and efficiently, because any changes made will be made to all ofthe images in the combined file (e.g., changing the background colorwill change the background color for all of the images comprising theinput). Alternatively, the editing functions provided in the editingfacility 32 can include functions that operate on single images, or lessthan all of the images in the set of images that comprise a set ofimages 14.

The set of images 14 is introduced into the system 10 where the set ofimages 14 is processed by software 20 that is implemented or isexecutable on a suitable computer or processor. Optionally, along withthe set of images 14, other information relating to the set of images 14also can be introduced into the system 10, such as informationconcerning the actual physical dimensions of an object 16 depicted in aset of images 14 (e.g., the height, width, and/or depth of the object ininches, feet, etc.), and information that controls certain aspects ofthe interactive functions that are enabled for the set of images 14(e.g., a zoom factor that determines the maximum degree to which animage can be zoomed in on). Alternatively, the software 20 may calculatethe actual physical dimensions of an object 16 depicted in a set ofimages 14, based on information concerning the actual physicaldimensions of the location at which the images 12 were captured,together with information concerning the focal length, of the camerawith respect to the object 16, etc. Similarly, the software 20 may applydefault values if information that optionally can be introduced is not,in fact, introduced, such as a default value for the zoom factor.

The software 20 both controls the manner in which the set of images 14is delivered to a user in response to the user's request 60 and, oncethe set of images 14 is delivered, permits the user to initiate andcarry out a variety of interactive functions with respect to the set ofimages 14. Depending upon the application, these interactive functionsmay include providing the user with the illusion of moving an object 16in two dimensions (e.g., vertically or horizontally), zooming in on anobject 16, or rotating an object 16 to obtain a 3-D effect.

The software 20 advantageously can be added to the HTML or XML code 23that already exists on a third party provider's webpages (either asdeveloped by the website provider or as contained in a banneradvertiser's content for the website provider), so as to provide thethird party website provider or banner advertiser with the ability tooffer users (1) the perception of fast image download or delivery time;and (2) 2-D or virtual 3-D viewing without the necessity of the usereither already having or having to download plug-ins to enable theinteractivity; and (3) enhanced image quality when a zoom in function iscarried out.

In a presently preferred embodiment of the system 10 according to theinvention, the software 20 is written in the language corresponding tothe software protocol known as DHTML or “Dynamic Hypertext MarkupLanguage,” and advantageously uses the layering feature available in theprotocol. However, as would be apparent to one with skill in the art,the system 10 could be implemented by using any other protocol orlanguage, suitable for web-based use or non-web use, that permitsapportionment of sets of images for fast delivery to a user with whichthe user can initiate interactive functions such as those describedherein. That is, in a preferred embodiment of the system 10 according tothe invention, the software 20 is written in a language that isspecifically used in connection with web pages that are intended to beviewed using a browser, i.e., a “client” software program that allows auser to view web pages and which usually is used to search for and viewweb pages from a website accessible over the Internet. (A browser canalso be used to view web pages that are stored on a suitable device suchas a CD-ROM or a local computer hard drive, without the need for anInternet connection.) However, the basic functionality of the software20, e.g., the results achieved by apportioning each of multiple imagesof an object into discrete layers and making only one of the multipleimages viewable to the user at a given time, can also be implemented inother languages, such as C, where the intended use of the system 10 is ause not related to the Internet.

The functionality of the software 20 can be described as follows: Whenthe system 10 according to the invention detects a request 60 for acertain set of images 14 that are present on a third party website, therequested set of images 14 is delivered to the user by taking advantageof the layering features that are available in the DHTML softwareprotocol. Specifically, by example and with reference to FIGS. 4-5, ifthe user sends a request related to an object 16 that is viewable to theuser on a third party provider's website, the system 10 according to theinvention will couple or add the software 20 with the code on the webpage that the third party website provider otherwise would deliver tothe user in response to his or her request. So coupled, and upondelivery to the user, the software 20 will instantaneously create aDHTML layer 200 for each file that corresponds to the set of images 14that are requested. If the set of images 14 associated with the objectcomprises sixteen images 12, then sixteen layers 200 a-200 p will becreated. Each of the image layers 200 is originally sized to haveapproximately the same dimensions in terms of height and width (althoughthe dimensions of each image layer 200 a-200 p can change when certaininteractive functions, such as the zoom function, are performed).Importantly, the first layer 200 a created for a predetermined one ofthe images 12 (i.e., whichever image 12 the user is intended to seefirst) will be immediately perceptible or viewable by the user upondelivery in a viewable area defined by a border on the user's display.Thus, upon the website's processing of the user's request 60 for thepertinent web page, the user will immediately perceive one of themultiple images associated with the request. From the perspective of theuser, therefore, there is virtually no delay between the time therequest for the web page is processed and the time the first image isviewable.

While the user is perceiving the image file disposed in the first layer200 a, the other fifteen layers 200 b-200 p are being created after it,but are not yet made visible to the viewer. In the system 10 accordingto the invention, only one image layer 200 is made perceptible orvisible to a user at any given time. Whichever image layer isperceptible or visible is the currently viewable image layer.

Typically, then, and dependent upon the speed with which the user canobtain the set of images 14 associated with his or her request (i.e.,speed dependent upon the nature of the connection, e.g., dial-up or thehigher speed DSL or T1 connections), the user will perceive an imagecorresponding to his or her request almost immediately, and will nothave to wait for all of the images 12 in the set of images 14 to bedelivered to his or her computer's cache memory or hard drive.Similarly, the user can view the set of images 14 without any delay astypically would be incurred when images are delivered using JAVA (theobject-oriented programming language developed by Sun Microsystems,Inc.), and without the necessity of any additional software, such asthat provided in a plug-in. (While additional software such as thatcommonly contained in a plug-in is not necessary for a user to use thesystem 10 according to the present invention, it is contemplated thatthe software 20 of the system 10 might be provided to enable delivery ofsets of images 14 and interactivity with sets of images other than via aweb page, such as in an application program that is made available tousers separately from the sets of images 14 and web pages, for example,by being downloaded from a website or provided on a CD-ROM.)

As mentioned above, the system 10 according to the invention can be usedadvantageously to deliver sets of images 14 that are part of the primarycontent of a website, or alternatively, in connection with banneradvertisements. For example, the sets of images 14 could be delivered aspart of a banner advertisement that a third party advertiser hasarranged with the website provider to deliver on certain web pages thatare requested by a user.

With regard to the nature of the connection the user has with respect tothe website from which the requested set of images 14 are delivered,when the connection is a relatively slow connection, such as a dial-upmodem connection, one embodiment of the system 10 according to theinvention further apportions each of the images 12 in the set of images14 for delivery into a grid of multiple parts or “splits” 22 fordelivery. An example of an image 12 that has been “split” into sixteenparts is illustrated schematically in FIG. 6. If the dial-up connectionis corrupted or lost in the middle of delivery of a web page, the splits22 that made it to the user's cache memory or hard drive before theconnection was lost do not have to be re-sent when the connection isreestablished. Once delivery of all of the splits 22 corresponding to animage 12 have been delivered to a user, a single image layer 200 iscreated for that image 12 and the splits are not perceptible to theuser. In a currently preferred system 10 according to the presentinvention, the number of splits 22 that each image file is apportionedinto for delivery is sixteen or thirty-two, but any odd or even numberof splits can be accomplished.

In a presently preferred embodiment of the system 10 according to theinvention, and with reference again to FIG. 5, three additional layersare created upon delivery of the set of images 14 in addition to thelayers 200 with the image files as are described below. A tool bar layer202 is created that contains a tool bar 100 which is also made viewableto the user along with the predetermined one of the image layers 200 aat the time of initial delivery of the set of images 14. With referenceto FIG. 5, it will be appreciated that the tool bar layer 202 has atleast one dimension that is generally less than the correspondingdimension of the image layers 200, for example, the tool bar layer 202might have approximately the same width as the image layers 200 but aheight that is substantially less than the height of the image layers200, so that whichever image layer 200 is currently viewable to the usercan be clearly seen despite the presence of the tool bar 100.

Underneath or behind the tool bar layer 202, and on top of or in frontof the image layers 200, a first transparent layer 204 is provided.Unlike the tool bar layer 202, the first transparent layer 204 is sizedto have dimensions that approximate the dimensions of the image layers200, both in terms of height and width. Whenever the currently viewableimage layer 200 is caused to change in size, e.g., during a zoominteractive function, the first transparent layer 204 adjusts in size tomatch that of the currently viewable image layer 200. Further,preferably, whenever the first transparent layer 204 is moved along thex- and y-axes of the user's display, such as might be initiated by auser's clicking on the first transparent layer 204 with a mouse anddragging from point a on the x- and y-axes (e.g., x_(a), y_(a)) to pointb on the x- and y-axes (e.g., x_(b),y_(b)), the first transparent layer204 is associated in the software 20 such that the image layers 200 aremoved to the same position along the x- and y-axes as the firsttransparent layer 204.

The first transparent layer 204 is especially useful in carrying outcertain of the interactive functions with respect to the set of images14, i.e., the manual rotate function and the measuring function asdescribed hereinbelow. The transparent layer 204 also allows other ofthe interactive functions to be carried out efficiently, such as the panor move function, because movement of the first transparent layer 204causes all of the image layers 200 to move along with it. (Under somecircumstances, the first transparent layer 204 may afford the additionaladvantage of limiting the degree to which a user may copy the currentlyviewable image in the image layers 200, as the copy function may resultin the copying of no more than the first transparent layer 204 and/orthe first transparent layer 204 and the tool bar layer 202.)

Underneath or behind, from the perspective of the display, the firsttransparent layer 204 is provided a second transparent layer 206, whichprimarily is used in connection with the measuring function describedhereinbelow. Preferably, the second transparent layer 206 remains atfixed coordinates along the x- and y-axes even if other of the layersare moved with respect to the x- and y-axes.

Some presently contemplated interactive functions according to thesystem 10 of the invention will now be described more particularly withreference to FIGS. 7-15. Referring now to FIGS. 7 and 8, one possibleimplementation of a tool bar 100 according to the present invention isshown. In a presently preferred embodiment of the system 10, “buttons”or icons 101 on the tool bar 100 are provided, some of which merelyenable certain interactive functions and others of which both enableinteractive functions and control, to some degree, how the interactivefunctions are carried out with respect to the set of images 14.

Tool Bar

As one skilled in the art will appreciate, commands can be conveyed to asystem by a variety of means, such as via a mouse or a similar devicesuch as a touch screen (e.g., sending commands by moving a finger frompoint to point on a touch screen display). Commands can be associatedwith various positions or states of a mouse with respect to a display.For example, commands can be associated with the positions or states of“mouse over” and “mouse click,” and, in some systems such as thepreferred embodiments of the system according to the present invention,with the positions or states of “mouse up,” “mouse down,” and “mouseout.” The software 20 can be configured such that each one of thesecommands initiates some corresponding action with respect to the buttonsin a tool bar 100.

With reference now to FIG. 7, a tool bar according to a preferredembodiment of the system 10 of the invention is illustrated. From rightto left, the buttons 101 on the tool bar 100 illustrated in FIG. 7 allowa user to invoke the following interactive functions: (1) the button102, which can be in the form of a logo (as shown in FIG. 7) (such as,the logo of the provider of the system 10 or the logo of the provider ofthe web pages), enables the user to use a mouse, or other object thatsimilarly can be used to provide x- and y-coordinates to the system 10that correspond to locations on the display, to move the tool bar aroundon the viewable portion of his or her display screen; (2) the button104, which is comprised of a thumb or knob 106 and a horizontallydisposed track 108, enables the user to zoom in on or zoom out of animage 12; (3) the “reset” button 110, which enables the user to returnto the whatever first predetermined or selected image layer 200 wasoriginally delivered to the user and in the form in which it wasoriginally delivered (e.g., not zoomed in on); (4) the “measure” button112, enables the user to use a mouse or similar device to first identifya certain dimension of an object in an image and then to obtaininformation concerning an actual physical dimension corresponding tothat certain dimension; (5) the “pan or move” button 114, which enablesthe user to use his or her mouse or similar device to pan or move thetransparent layer 204, the image layers 200 and, optionally, the toolbar layer 202 from one position to another on the display screen, in anyof the horizontal, vertical or diagonal directions; (6) the “rotateright” button 116, which enables the user to cause the currentlyviewable image layer to change sequentially from among the possibleimage layers 200 a-200 p, in order to give the user the illusion ofrotational movement in the right direction; (7) the “manual rotate”button 118, which the user to perceive a rotational effect by clickingand dragging a mouse, in one of at least two possible directions (e.g.,left or right), over the currently viewable image layer, user to causethe currently viewable image layer to change sequentially from among thepossible image layers 200 a-200 p; and (8) the “rotate left” button 120,which enables the user to cause the currently viewable image layer tochange sequentially from among the possible image layers 200 a-200 p, inorder to give the user the illusion of rotational movement in the leftdirection. Other tool bar buttons 101 can be provided as are describedwith reference to other interactive functions set forth hereinbelow,such as a focus zoom button 1104, the menu options button 1254, theappearance modifying button 1280, etc., as well as for any otherinteractive function that might be enabled for a given set of images 14.

In order to provide the user with a description of the interactivefunctions with which the buttons on the tool bar correspond, in apreferred embodiment of the system 10 according to the invention,whenever the user clicks on a button or icon on the tool bar 100, adescription of how the user can interact with the requested set ofimages 14 using that button—i.e., the icon's functionality—appears or“pops up” on the display, as is shown in the text boxes of FIG. 7.

Alternatively, when a user first begins use of the system according tothe invention, the user might be presented with a look-up table, helpmenu or other information which describes each of the buttons on thetool bar, so that no prompting of the user is necessary when the “manualrotate” button (or any other button) is activated. Although providingthe tool bar to enable the user to initiate the various interactivefunctions with a requested image is desirable, one of ordinary skill inthe art will readily appreciate that other means of enabling a user tocommence interactive functions are possible, such as using variouscombinations of keystrokes on a keyboard coupled to the display, usingvoice commands coupled to the display, or other signals corresponding tocommands coupled to the display.

In still a further alternative embodiment, the tool bar layer 202 aswell as all of the image layers 200 except the currently viewable imagelayer 200 might be kept hidden from view upon delivery of a set ofimages 14. Instead of immediately displaying the tool bar to the user,another different layer might be made visible together with thecurrently viewable layer 200 that contains an icon or other symbol thatcan invoke the tool bar layer 202. That is, when a user moves his or hermouse over the symbol or icon in this tool-bar-invoking layer, theuser's action causes the system 10 to make visible the tool bar layer202 along with the currently viewable layer 200. Alternatively, thetool-bar-invoking layer will be hidden when the tool bar layer 202 andthe currently viewable image layer 200 are made visible. Preferably, thetool-bar-invoking layer is sized so as to be smaller than the imagelayers 200, for example, one tenth of the height and width of the imagelayers 200, so that the tool-bar-invoking layer, when visible to theuser, would not interfere to any significant degree with the user'sperception of the object(s) 16 or the scene 17 depicted in the currentlyviewable image layer 200.

Similarly, a feature might be provided in the system 10 according to theinvention where the tool bar 100 in the tool bar layer 202 has a buttonor icon 101 which, when activated by the user by some action such as amouse over, click, or the like, will cause the tool bar layer 202 tobecome hidden from the user's field of view and replaced by thetool-bar-invoking layer, such that the user will again perceive only thetool-bar-invoking layer and the currently viewable image layer 200 inhis or her field of view at one time. In one presently preferredembodiment of the system 10 according to the invention, where the set ofimages 14 are delivered and interacted with in conjunction with a banneradvertisement on a webpage, the “reset” button 110 on the tool bar isused to hide the tool bar from view, such that only the currentlyviewable layer 200 and a tool-bar-invoking icon in the tool-bar-invokinglayer are perceptible by the user. Features such as described aboveallow users who are familiar with the various interactive functions ofthe system 10 to hide the tool bar 100 altogether when desired, in orderto eliminate the tool bar 100 as a possible distraction on the users'display, while the users are perceiving the currently viewable imagelayer 200.

Some of the interactive functions that are available as options on thetool bar 100 are entirely carried out when the pertinent button or iconon the tool bar is activated or invoked by a user, for example, when theuser clicks on the button and holds the mouse button down on theautorotate left or autorotate right buttons, the system 10 will causethe currently viewable image layer to cycle through image layer 200 athrough 200 p or through image layer 200 a and then through image layers200 p, 200 o, etc., respectively. With regard to other of theinteractive functions, moving the mouse over, pressing down on the mousebutton, or clicking on the button causes the system 10 to be placed inthat particular interactive function mode, and the user has to move themouse with respect to the currently viewable image layer 200 in order tocarry out the interactive function, whereby the function performedresponds to commands from the mouse corresponding to the coordinates ofthe mouse on the first transparent layer 204 or on the currentlyviewable image layer 200. For example, clicking on the “manual rotate”button on the tool bar puts the system 10 in “manual rotate” mode, butin order for the user to perform the manual rotate interactive function,the user has to click on the first transparent layer 204 (which, fromthe perspective of the z-axis relative to the user's display, is on topof or above the currently viewable image layer 200), and drag the mousein the direction in which the rotational effect is desired (e.g., to theleft or to the right).

With regard to the tool bar 100 itself, the system 10 has a featurewhereby the user can change the orientation of the tool bar 100 on theuser's display. That is, by pressing down a mouse button and/or clickingon a mouse while the mouse is positioned anywhere within the tool barlayer 202, the user can cause the tool bar 100 to be moved anywhere onthe user's display, either to a position somewhere within the viewablearea in which the currently viewable image layer 200 is being displayed,or completely outside of that viewable area (e.g., beyond the border ofthat viewable area) so that the tool bar 100 does not interfere withuser's ability to perceive the entirety of the currently viewable imagelayer 200. That is, when the user moves a mouse anywhere within theboundaries of the tool bar layer 202 and presses down on the mousebutton and/or clicks using the mouse at coordinates corresponding to x₁and y₁, and then drags his or her mouse to another location on thedisplay corresponding to coordinates x₂ and y₂, the tool bar 100 will bemoved from x₁, y₁ to x₂, y₂. With reference to FIGS. 8-9, and based uponthe difference between x₁ and x₂, on the one hand, and the differencebetween y₁ and y₂, on the other hand, the tool bar 100 will be moved onthe display, for example, outside of the field of view of the currentlyviewable image layer 200 altogether. A button or icon 101 on the toolbar layer might provide a visual cue to a user for the move toolbarfunction, such as, the button 102, which in the figure happens to be thelogo of a provider of the system 10.

Zoom Interactive Function (Standard)

The zoom interactive function of the system 10 according to theinvention, in particular, reflects several significant advantages overzoom interactive functions of prior art systems. More particularly, thezoom interactive function of the system 10 according to the inventionallows a user to perceive a smoothly executed zoom, wherein the size ofthe viewable area within which the zoom is being performed increases toaccommodate the enlarged image, and the dimensions of the currentlyviewable image layer 200 that is being zoomed in on are adjustedproportionally as the zoom is carried out. Moreover, the resolution ofthe image 12 in the currently viewable image layer 200 after the zoomremains high, because high resolution images can be delivered to a userwith the system 10 according to the invention without any appreciabledelay caused by the large amount of data that is associated with thehigh resolution images.

With reference to FIGS. 10-11, the system 10 enables and performs thezoom interactive function according to the following. A predefined zoomfactor, z, for a given set of images is associated with the set ofimages 14 by the software 20. The zoom factor represents and correspondsin the software 20 to a limit on the degree to which a particular set ofimages 14 can be zoomed in on or, alternatively, a limit as to how bigan object 16 or scene 17 in a set of images 14 can get. Generally, theparticular value of the zoom factor, z, is selected so as to optimizethe appearance of an object in a set of images 14 when it is zoomed inon, with regard to such factors as how smoothly the zoom function willappear to be carried out from the perspective of a user (if the imagegets too large too quickly, the appearance of the zoom may not besmooth), and how to fix the maximum zoom-in to a level that will notexcessively distort the images. The zoom factor, z, might be introducedat the time the set of images 14 is introduced to the system 10, or atsome later point (e.g., if the set of images 14 is being managed by thewebmaster of a third party provider's web site, the webmaster may beable to adjust the zoom factor, z, at any time.) Alternatively, thesoftware 20 may contain a default value for the zoom factor, z, in theevent no value for that parameter is otherwise specified by the user (orwebmaster). In addition, the software 20 may contain an algorithm forcalculating one or more zoom factors, z, for a given set of images 14,for example, using the default dimensions of an image in a currentlyviewable image layer 200 (e.g., the default width) and the intendeddimensions of an image after a zoom operation has been performed (e.g.,the zoomed-in-on width).

The zoom interactive function of the system 10 advantageously allows ahigh resolution image to be perceived by a user upon zooming in on theimage. If the set of images 14 consists of only one image 12, forexample, in the case where only interactive functions in two dimensionsare to be enabled and only with respect to a single image of an object,the image 12 can be delivered rapidly to a user regardless of how highthe image resolution is, because no delays will be incurred as might beincurred if the images were delivered using a language such as JAVA(which is typically associated with long delivery times) or additionalsoftware such as provided in a plug in.

In cases where the number of images 12 in a set of images 14 is greaterthan one, for example, when interactive functions are to be enabled intwo dimensions for images taken at more than one angle of an object orvirtual 3-D interactive functions such as rotation are to be enabled,the quality of the zoom interactive function is not at all compromisedby the number of images 12 that compromise the set of images 14. Theimages 12 in the set of images 14 do not have to be assembled into asingle large image file as a precondition to making the images availableto the user. Rather, each image 12 in the set of images 14 is providedin its own image layer 200 by the software 20, the resolution of theimages being delivered does not have to be sacrificed in order to keepthe delivery time to a minimum. Therefore, and since the user perceivesthe image 12 provided in the predetermined or selected first image layer200 at the instant of delivery, the user will perceive no delay indelivery time when multiple images, each with relatively highresolution, e.g., 1024×768 pixels, are being delivered. If the maximumavailable resolution is 1024×768 for any given one of the images 12 in aset of images 14, the original images made viewable to the user (i.e.,the non-zoomed-in-on images), can be presented at a resolution of, forexample, 320×240 pixels. When a zoom-in interactive function iscommanded, and according to the zoom factor, z, the software 20 willreveal more of the available pixels to the viewer as the image is zoomedin on, up to a maximum of 1024×768 pixels in this example. Accordingly,the quality of an image 12 is not compromised at all when a zoom-ininteractive function is carried out.

The zoom factor, z, typically is an arbitrary number, such as five. Withreference to FIGS. 10-11, when a user causes the thumb 106 to move fromthe left to the right along the track 108, the number of pixels thethumb has moved is multiplied by the relevant zoom factor, z, and theimage size might increase two-fold or four-fold, depending upon thesignificance to the software 20 of the relevant zoom factor, z. When azoom operation is performed, the zoom interactive function of the system10 according to the invention not only expands the entire currentlyviewable image layer 200, but also expands the viewable area withinwhich the currently viewable image layer is displayed to the user. Thus,the user can continue to view the entirety of an object depicted in animage 12 as the currently viewable image layer 200 is enlarged.

In a preferred embodiment of the system 10 according to the invention,when the zoom interactive function is carried out, an associatedalgorithm adjusts the direction in which the size increase occurs, so asto give the user the illusion that when an object in an image is zoomedin on, it increases in size in all directions equally orproportionately. That is, without such an adjustment, when a zoom inoperation is carried out with respect to an image, the image will appearto move down and to the right on the display as it increases in size(i.e., as the height of the image increases the image will increase insize downwardly, and as the width of the image increases the image willmove increase in size to the right). With the adjustment of the system10 according to the invention, as the height of the image increases insize downwardly, the image is immediately shifted back in the oppositedirection by half of the increase in height and, similarly, as the widthof the image increases in size to the right, the image is immediatelyshifted back in the opposite direction by half of the increase in width.In this manner, the image appears to increase in size equally in boththe directions of height and width.

Reset Interactive Function

The reset interactive function is carried out entirely when the resetbutton 110 on the tool bar 100 is clicked on with a mouse or otherwiseactivated. The reset function causes all of the layers (the image layers200, the tool bar layer 202, the transparent layers 204, 206 and anytool-bar-invoking layer) to be restored to their original positions,i.e., the positions that all of the layers were in at the time the setof images 14 was first delivered to the user (i.e., the defaultposition). In the example shown in FIG. 12, the display is illustratedafter a tool bar move function has been carried out, such that the toolbar layer 202 is located outside of the field of view of the firsttransparent layer 204 and the currently viewable image layer 200. Withreference to FIG. 13, when the reset interactive function is enabled,and the user clicks anywhere on the object 16 in the currently viewableimage layer 200, all of the layers are returned to the position thelayers were in at the point of delivery of the set of images 14 to theuser, e.g., the image layer 200 a will be the currently viewable imagelayer.

Measuring Interactive Function/Measuring Tool

The measuring interactive function, wherein the second transparent layer206 has special significance in a presently preferred embodiment of thesystem 10 according to the invention, will now be described withreference to FIGS. 14 and 15. The system 10 will be put into measuringmode when the user presses down on the mouse button and/or clicks on thebutton 112 on the tool bar 100 that corresponds to the measuringinteractive function. When the user clicks and drags the mouse over oneof the dimensions, e.g., height or width, of an object 16 or scene 17depicted in the currently viewable image layer 200, the firsttransparent layer 204 will move over the second transparent layer 206,which remains fixed. (When the system 10 according to the invention isin measuring mode, only the first transparent layer 204 will be movablewith respect to all of the other layers.) A line, m, will be drawn onthe second transparent layer 206 which corresponds to the distance thefirst transparent layer 204 has moved relative to the second transparentlayer 206, i.e., a line corresponding to the coordinates of the mouseposition before and after the mouse is dragged, e.g., the starting pointwhen the mouse began to be dragged, x₁, y₁, and the ending point whenthe dragging of the mouse is stopped, e.g., x₂, y₂. The actual physicalvalue corresponding to the dimension the user measures with themeasuring tool can be calculated based on the number of pixelscomprising the line m and information about the actual physicaldimensions of the object 16 that is known by the system 10. Informationabout the physical dimensions of the object 16 may be known by thesystem 10 by reason of the fact such information was input to the system10 at some point prior to use of the measuring tool, e.g., at the timethe set of images 14 was introduced to the system 10. Alternatively,information about the physical dimensions of the object 16 may be knownby the system 10 by reason of the fact that information about thedimensions of the space surrounding the object 16 in the images 12 whenthe images 12 were captured is known to the system 10. For example, ifthe images 12 are acquired in an environment in which the physicaldimensions of the environment along the x- and y-axes are known relativeto the physical dimensions of the object or objects 16 when the imagesare first captured, information relating to the physical dimensions ofthe object or objects 16 can be extrapolated via an appropriatealgorithm provided in the system 10.

Pan or Move Interactive Function

With regard to the “pan or move” interactive function, in a preferredembodiment this function is carried out, once enabled, according to thedifference between a first position of a user's mouse (or similar deviceproviding x and y coordinate information) and a second position of auser's mouse as the mouse is dragged from the first position to thesecond position. For example, in the coordinates of the mouse on thetransparent layer 204 in a first position are x₁, y₁ and the user dragsthe mouse from the first position through a line to a second positionx₂, y₂, then the transparent layer 204 together with all of the imagelayers 200 and, optionally, the tool bar layer 202, will move from thefirst position to the second position along the line defined by thedistance from x₁, y₁ to x₂, y₂. For example, and with reference to FIG.16, if the line corresponds to a diagonal line across the display, thenthe transparent layer 204 and the image layers 200 will move diagonally.Similarly, if the line corresponds to a horizontal line across thedisplay, then the layers will move horizontally, if the line correspondsto a vertical line across the display, then the layers will movevertically, etc.

Autorotate and Manual Rotate Interactive Functions

With regard to the rotate functions, three options are currentlycontemplated in the system 10 according to the that which will now bedescribed as follows:

A user can cause an object depicted in a set of images 14 to appear torotate enabling one of two “autorotate” functions and/or a “manualrotate” function. With reference to the tool bar 100 shown in FIG. 7, auser may enable an autorotate function in one of two directions, i.e.,right or left, by clicking on the appropriate button or icon 116, 120.In the autorotate mode, whichever image layers 200 in the set of images14 that corresponds to a 360-degree view of an object in a particularplane, q, will be successively, and for a selected increment of time, bemade the currently viewable layer. With reference to the example wherethe object 16 of interest is a camera, there might be sixteen images 12taken at increments of 22.2 degrees in a particular plane, q, thatcomprise the set of images 14 for the camera. When the “rotate left”autorotate function is enabled by clicking on the appropriate tool barbutton or icon 120, the currently viewable image layer, e.g., the firstimage layer 200 a, will be hidden and the next sequential image layer,e.g., second image layer 200 b, will be made the currently viewableimage layer. The image layers are cycled through in this fashion, witheach respective image layer 200 a-200 p being made visible to, andsubsequently hidden from, the user, at a predetermined or selectedincrement of time. The image layers 200 will continue to be displayed tothe user sequentially, with one of the image layers 200 a-200 p afteranother being made the currently viewable image layer and then hidden,until the user disengages the autorotate interactive function (e.g., byletting up on the mouse button over the autorotate button on the toolbar).

Of course, if one of the two autorotate interactive functions (i.e.,“autorotate left” or “autorotate right”) is engaged by clicking on theappropriate autorotate button 116, 120 on the tool bar 100 at a timewhen the currently viewable image layer is other than the first imagelayer 200 a, e.g., when the currently viewable image layer happens to beimage layer 200 h, that currently viewable image layer 200 h will be thestarting point for the rotational effect. Similarly, if the userdisengages the autorotate function (i.e., takes the system 10 out of theautorotate mode, when the currently viewable image layer is somewhere inthe middle of the image layers 200 (e.g., on a middle image layer 200 g)for the set of images 14, the currently viewable image layer 200 willremain as that middle image layer 200 g when the autorotate function isdisengaged.

If an autorotation in the opposite direction is desired by the user,then the image layers 200 might be cycled through in the oppositedirection, e.g., from the first image layer 200 a, to the last imagelayer 200 p, to the next to last image layer 2000, etc. In otherpreferred embodiments of the system 10 according to the presentinvention, a user may be able to command rotation of an object 16depicted in a set of images 14 about 360 degrees in more than one plane,depending on the nature and type of the images 12 that have beenacquired for the object 16. For example, if there is a sufficient numberof images 12 in a set of images 14, the user could achieve the effect ofrotating in a vertical direction (e.g., “rotate top” or “rotate bottom”)in addition to the horizontal directions (i.e., “rotate left” or “rotateright”).

The “manual rotate” is an alternative to the “autorotate” function forthe user to perceive a virtual 3-D effect of an object. Rather thaninitiating the illusion of rotation by clicking on, or holding the mousebutton down on top of, one of the “autorotate” icons on the tool bar,the “manual rotate” function is carried out by a user by first clickingon the “manual rotate” icon 118 on the tool bar 100, and then moving themouse to a point somewhere in the currently viewable image layer 200.The user next presses down on the mouse button and drags the mouse inthe direction the rotational effect is desired. If the rotational effectis only available about one axis or plane of the object, which isgenerally the case, then the user might drag the mouse to the right toinitiate rotation in that direction, and to the left to initiaterotation of the object to the left. The degree of rotation, i.e., thenumber of image layers 200 in the set of image layers 200 a-200 p thatsequentially will be made the currently viewable image layer and thenhidden, will depend in part on how far the user drags the mouse acrossthe image. The speed at which the relevant ones of the image layers 200a-200 p are made currently viewable to, and then hidden from the user,will depend in part on how fast the user drags the mouse across theimage. Thus, the user has a greater degree of control over how therotation interactive function is executed by the system 10 than when anautorotate interactive function is performed. If there are enough images12 that have been acquired in enough of the possible planes of rotationof the object 16, the manual rotate function could be used to provide agyroscopic virtual 3-D effect with respect to the object, by causing theobject 16 to appear to rotate in multiple planes of the object when themouse is dragged on the currently viewable image layer 200 in differentdirections, where each direction corresponds to a different plane ofrotation.

For 2-D images, the interactive functions desirably include one or moreof the following interactive functions: (1) panning or moving an imagelayer from place to place on a display; (2) measuring one or morephysical dimensions of an object depicted in the currently viewableimage layer; (3) zooming into or zooming out on the currently viewableimage layer; and (4) a resetting function which resets the tool barlayer, the transparent layer(s) and the image layers to the form inwhich the appeared at the time the set of images 14 was delivered to theuser.

In an alternative embodiment according to the system 10 of theinvention, only one image layer 200 might be created for a given set ofimages 14, whereby the currently viewable image layer 200, e.g., thepredetermined or selected one of the images 12 made viewable upondelivery of the web page to the user, or whichever one of the images 12is made viewable during the performance of an interactive function, isswapped in and out of a single image layer 200. In still otheralternative embodiments according to the system 10 of the invention, thetool bar layer 202 and/or the transparent layers 204, 206 might beoptional.

Still further embodiments of the system 10 according to the presentinvention will now be described with reference to FIGS. 17-40.

Multiple Interactive Images on One Webpage

In one presently preferred embodiment of the system 10 according to theinvention, the software 20 is configured to allow a user to view andcarry out interactive functions with respect to multiple sets of images14 on a webpage that is downloaded onto a user's display in response toa user's request 60 for the webpage. Preferably, the user views andinteracts with multiple sets of images 14 via common image layers 200and, if appropriate or applicable, a common tool bar layer 202, commonfirst and second transparent layers 204, 206, and other layers such asare described below.

The example in FIG. 17 illustrates a user's display after a user hasrequested and received a webpage using the system 10 according to theinvention. In this example, the user has the ability to view andinteract with four different sets of images 14, however, the maximumnumber of sets of images 14 that can be provided is limited only by thecapacity of the webpage and perhaps by the physical parameters (e.g.,the memory and processor capacity of the user's computer) of a user'sdisplay. One of the sets of images 14 is designated in the software 20as a primary set of images 1010 such that, upon delivery of the webpageto the user, an image layer 200 is created for each of the images 12comprising the primary set of images 1010, one of which image layers 200will be provided to the viewer as the currently viewable image layer200. In addition to the image layers 200, a tool bar layer 202, andeither a first transparent layer 204 or a second transparent layer 206or both, will be provided, depending upon the number and kind ofinteractive functions that are enabled for the multiple sets of images14.

The sets of images 14 other than the primary set of images 1010, can berepresented on the webpage by an identifying symbol 1012, which may be arepresentation of a photograph of the object(s) 16 or scene 17 or of adrawing or picture of the object 16 or scene 17. Alternatively, thesymbol can comprise text or any graphic construct that simply serves toidentify the area on the user's display that must be clicked on orotherwise targeted by the user in order to enable interactivefunction(s) with respect to the set of images 14 corresponding to thesymbol 1012. In the case where the symbol is a photograph, the symbolcan also constitute one of the images 12 in the set of images 14 thatcorresponds to or is associated with the symbol 1012.

In a presently preferred embodiment, where the system 10 according tothe invention is implemented with software 20 written in DHTML, thepartitioning on the user's display to accommodate the symbols 1012 isalso accomplished using the layering feature of the DHTML programminglanguage. However, in the case of the symbols 1012, the layers areprovided side by side on the user's display, i.e., in the x/y plane oralong the x- and y-axes of the user's display, as opposed to one behindanother, i.e., in the z-plane or along the z-axis of the user's display,as typically is used in the implementation of other interactivefunctions.

In addition to being associated with a set of images 14, each symbol1012 can be associated with parameters that will be useful or necessaryin carrying out one or more of the available interactive functions withrespect to that set of images 14, such as a zoom factor, z, andvariables the definition of which correspond to the physical dimensionsof the object 16 depicted in the set of images 14. In the example wherethere are four symbols 1012 provided to a user on the user's display,four different sets of parameters can be provided for those four symbols1012.

Whichever interactive functions are enabled in the software 20 for theprimary set of images 1010 will be available to the user upon deliveryof the webpage. If the user would rather carry out one or moreinteractive functions with a set of images 14 other than the primary setof images 1010, i.e., a set of images 14 that is associated with one ofthe symbols 1012, the user need only click on or otherwise identify tothe system 10 the coordinates on the user's display that correspond tothe selected symbol 1012 with which interactivity is desired. When theuser takes this action, the system 10 causes the primary set of images1010 to be swapped out of the image layers 200, in favor of the set ofimages 14 that are associated with the selected symbol 1012. The toolbar 100 in the tool bar layer 202 associated with the primary set ofimages 1010 may or may not be reconfigured for the set of images 14associated with the selected symbol 1012, depending on whether thenumber and kind of interactive functions that are available with respectto the primary set of images 1010 and the set of images 14 correspondingto the selected symbol 1012 are the same or different. After the imagelayers 200 are swapped out, a symbol 1012 associated with the primaryset of images 1010 is provided on the display to indicate that theprimary set of images 1010, while not currently selected by the user, isstill available for interactive functions.

Alternatively, all of the sets of images 14 available for viewing andinteractivity via a given webpage can be represented by identifyingsymbols 1012 at the time of delivery of the webpage, such that there isno primary set of images 1010, and the user can simply choose whicheverone of the set of images 14 associated with the symbols 1012 that he orshe wishes to view and interact with first. The image layers 200 (e.g.,image layers 200 a-200 p where a set of images 14 has sixteen images)are then created, together with the tool bar layer 202 and the first andsecond transparent layers 204, 206, and one of the images in the set ofimages 14 is displayed to the user in the currently viewable image layer200.

This preferred embodiment of the system 10 according to the inventionprovides a user with the capacity to carry out a variety of interactivefunctions with respect to multiple sets of images much more easily andrapidly than would be the case if the software (e.g., HTML or XML code)for enabling the interactivity were separately and distinctly associatedwith each set of images. If this embodiment of the system 10 is used todisplay items to a user in an on-line shopping or “e-tailing”application, users can transport themselves quickly and seamlessly fromone offered item to another offered item, and be able to almostinstantly carry out whatever interactive functions are enabled for eachitem.

In a preferred embodiment, the multiple interactive images can also beprovided with or interspersed among text on the webpage.

The afore-described embodiment of the system can also be used in agallery page on a website containing multiple images giving the user ofthe website to interact very quickly with any image on that webpageusing any of the interactive functions such as the focus zoominteractive function or measuring interactive function without everleaving the webpage. The tool bar layer in this application can movefrom symbol to symbol or remain at a specific location on the webpage orcan be placed anywhere and moved anywhere at any time.

Width-Adjust, Focus Zoom, and Supplemental Information InteractiveFunctions

In a still further aspect of the invention, interactive functions areenabled and carried out according to the software 20 of the system 10that are implemented, in part, by repositioning images during aninteractive function so that at the end of an interactive function, thecurrently viewable image layer 200 is oriented in a predefined orpredetermined way with respect to the x- and y-axes of the user'sdisplay. An interactive function involving similar repositioning wasdescribed above with respect to the standard zoom interactive function,namely, where the position along the x- and y-axes of a zoomed-in-onimage is adjusted after the zoom operation so that the zoomed-in-onimage appears to increase in size in all directions equally orproportionately. With reference to these interactive functions thatinvolve repositioning, the following preliminary descriptions anddefinitions will be useful.

“Actual Images,” “Default Images,” “Pre-Zoom Images,” and “Zoomed-in-onImages”

At the point in time when the images in a set of images are deliveredvia a webpage to a user in response to a user's request, each image 12can be characterized by two conditions or states. One of these states isthe image's actual state, also referred to as the “actual image” 1050,and a default state, also referred to as the “default image” 1060.

The term “actual image” is used herein to refer to the dimensions alongthe x- and y-axis of the maximum resolution of any given image 12 in aset of images 14. For example, and with reference to FIG. 18, given setof images 14 may comprise sixteen images 12. The size of each of theimages 12 might be 1024×768 pixels. When any one of these images 12 isconfigured by the software 20 to be displayed to the user, before, afteror during performance of an interactive function, the image might bedisplayed with various resolutions that reflected sized other than1024×768 pixels, e.g., an image 12 for which a zoom interactive functionis enabled will be initially displayed at a resolution less than thatwhich is theoretically possible or available by reason of carrying outthe zoom. Since there is an actual image 1050 for every image 12 in aset of images 14, and the size of that image is known to the system 10,the width of the actual image and the height of the actual image canalways be used by the system 10 as points of reference, e.g., inrepositioning an image relative to particular locations along the x- andy-axes. The width and height of the actual image 1050 can be referred toas x_(A) and y_(A), respectively. The coordinates of the upper left-handcorner of the actual image 1050 may be referred to as x_(AL) and y_(AL),respectively. As will be appreciated by one with skill in the art, theunits of measurement of a digitally-rendered image are commonlyexpressed in pixels.

The default image 1060 has a height and a width relative to the x- andy-axes that are predefined or predetermined in the software 20associated with each image. In a given application, the default image1060 may be positioned in the upper left-hand corner of a user's displayupon delivery of a webpage to a user, as is illustrated in FIG. 19, ormay be otherwise oriented along the x- and y-axis according to anydesired set of predefined x- and y-coordinates. The width of the defaultimage along the x-axis may be referred to as x_(D), the height of thedefault image along the y-axis as y_(D), the position of the upperleft-hand corner of the default image as x_(DL), y_(DL), and themid-point or center points of the default image along the x- and y-axescan be referred to, respectively, as x_(DC) and y_(DC).

Referring now to FIG. 20, the state of an image before a zoom operationis carried out is, for the sake of convenience, is referred to herein asthe original or pre-zoom image 1070, even though it will be appreciatedby one with skill in the art that in accordance with the invention, morethan one zoom interactive function may have previously been carried outwith respect to a currently viewable image layer 200, such that theoriginal or pre-zoom image 1070 might well already have been zoomed inon one or more times. The width of the original or pre-zoom image alongthe x-axis may be referred to as x_(O), and the height of the originalor pre-zoom image along the y-axis can be referred to as y_(O), theposition of the upper left-hand corner of the original or pre-zoom imagecan be referred to as x_(OL), y_(OL), and the mid-point or center pointsof the original or pre-zoom image along the x- and y-axes can bereferred to, respectively, as x_(OC) and y_(OC).

After a zoom operation is carried out, and with reference to FIG. 21,the width of the zoomed-in-on image 1080 along the x-axis may bereferred to as x_(Z), the height of an image along the y-axis may bereferred to as y_(Z), and the upper left-hand corner of the zoomed-in-onimage may be referred to as x_(ZL), y_(ZL), and the mid-points or centerpoints of the zoomed-in-on image along the x- and y-axes may be referredto as x_(ZC) and y_(ZC).

With the foregoing definitions and points of reference in mind, thewidth-adjust zoom interactive function, the focus zoom interactivefunction, and the supplemental information or “hot spot” interactivefunction will now be described with reference to the Figures.

Image Dimensions and Image Layer Dimensions

Each image 12 in a set of images 14 typically comprises a digitizedphotograph or other digitized representation of an object 16, objects 16or a scene 17. The image 12 typically has a height, measurable along thex-axis, and a width measurable along the y-axis.

If, as in the preferred embodiments of the system 10 according to theinvention, the various interactive functions for sets of images 14 areenabled and carried out via layer constructs, such as via the layersavailable in DHTML, the dimensions of an image layer created to holdand/or make an image currently viewable to a user generally correspondto or are coextensive with the dimensions of the image by virtue of thecode used to create the layers.

One way of accomplishing in DHTML is to use the style option known as“zoom,” or by setting the width of the image to be one hundred percentof the layer's width and/or height. For example, with the style optionin HTML, if the actual width x_(A) or height y_(A) is known of theimage, and the width x_(O) of the layer is known, then the style zoom ofthe image can be set to x_(O) divided by x_(A), or can be set to y_(O)divided by y_(A), and that will give the proportion of the actual imagesize to which the image should be zoomed to in order to match the widthof the layer. Thus, the proportion of the width to height of the layerwill always match the proportion of the width to the height in theactual image, unless the height and width of the default layer are notproportional.

An advantage of using the style zoom in HTML for sizing images is thatit can be used in conjunction with the filter style such as the alphafilter, and that allows for more than the typical 256 palette of colorsto be displayed on a webpage, which allows colored images to bedisplayed more accurately with the transitions between edges in an imagebeing much smoother and not having jagged edges, this process is knownas anti-aliasing.

Hence, and with reference to FIG. 22, the height of the image,y_(image), generally will be equal to the height of the image layer inwhich the image is held or provided. Similarly, the width of the image,x_(image), and the width of the image layer will be equivalent. Sincethe height of an image and the height of the image layer in which it isdisplayed and the width of an image and the width of the image layer inwhich it is displayed are generally the same, the terms “image” and“image layer” may be used interchangeably herein with respect to thepositions of either an image or image layer along the x- and y-axes of auser's display.

Width-Adjust Interactive Function

With reference to FIGS. 23-28, one of the interactive functions thatemploys repositioning is referred to as the width-adjust zoominteractive function. This interactive function is provided to keep azoomed-out-of image or a zoomed-in-on image proportionately within theuser's field of view whenever the height of the object 16 in a set ofimages 14 is greater than the width of the object 16. In the system 10according to the invention, the width of an image layer 200 whenmeasured along the x-axis and the height of an image layer 200 whenmeasured along the y-axis substantially correspond to the width andheight of whichever object(s) 16 or scene 17 that is being depicted inthe set of images 14. When, for example, the object 16 is a personwearing a particular item of clothing, the height of the object, andhence, the height of the image layer 200 will be greater than the widthof the object and the width of the image layer 200. Normally, and withreference to FIGS. 24 and 25, when an zoomed-in-on image having a heightgreater than its width is zoomed back out of, for example, to return theimage to its default state, the zoomed-back-out-of image may move out ofthe user's field of view entirely, or partially, e.g., cutting off aperson's head or feet, even though there is additional space on theviewable area on the user's display in which to display the zoomed-in onimage.

In the system 10 according to the present invention, the position of thecurrently viewable image layer 200 containing the image 12 in a set ofimages 14 that is zoomed in on is adjusted so that the object(s) 16 orscene 17 depicted in the image is not cut off from the user's field ofview when a zoom-out or a zoom-in operation is carried out.

One method of repositioning a zoomed-in-on image 1080, for example,during a zoom-out operation, will now be described with reference toFIGS. 26-28 and the variables described below. The upper left-handcorner of the default image has a known position along the x-axisrelative to the user's display, i.e., x_(DL), as does the mid-point orcenter point of the default image, i.e., x_(DC). When a zoom interactivefunction is carried out, and as is described hereinabove, the image inthe pre-zoom image layer is enlarged and more of the available pixelsare displayed to the user in amount determined by the zoom factor, z,and the number of pixels corresponding to the distance the thumb 106 hasbeen moved along the track 108 on the zoom tool bar button 104 from thezero position. Accordingly, the width of the zoomed-in-on image alongthe x-axis, x_(Z), is known; as is the position of the upper left-handcorner of the zoomed-in-on image along the x-axis, which might be calledx_(ZL), and the position of the mid-point or center point of thezoomed-in-on image along the x-axis, which might be called x_(ZC).

Given those known coordinates, the image is positioned as follows. Withreference to FIG. 26, the center point of the pre-zoom image, x_(OC), ismoved along the x-axis by an amount, Δx, to a position that coincideswith the center point of the default image layer,x_(DC)(Δx=x_(DL)−x_(OL)+(x_(D)/2−x_(L)/2)). Then, and with reference toFIG. 27, the image is enlarged according to the zoom factor, z, and theposition of the thumb 106 along the track 108. Next, and with referenceto FIG. 28, the center point of the zoomed-in-on image, x_(ZC), isrepositioned along the x-axis by an amount equal to half the differencein width between the zoomed-in-on image and the pre-zoom image. Finally,the zoomed-in-on image is further adjusted by moving the center point ofthe zoomed-in-on image, x_(ZC), along the x-axis by an amount equal tothe amount Δx, that the pre-zoom image was moved multiplied by the ratioof the width of the zoomed-in-on image to the width of the default image(Δx x x_(Z)/x_(D)).

The same process occurs on the y-axis. First, the center point of thepre-zoom image along the x-axis, y_(OC), is moved along the x-axis by anamount, Δy, to a position that coincides with the center point of thedefault image layer along the y-axis,y_(DC)((Δy=y_(OL)−y_(DL)+(y_(OL)/2−y_(D)/2)).

Then, the image is enlarged according to the zoom factor, z, and theposition of the thumb 106 along the track 108. Next, the center point ofthe zoomed-in-on image, y_(ZC), is repositioned along the x-axis by anamount equal to half the difference in height between the zoomed-in-onimage and the pre-zoom image. Finally, the zoomed-in-on image is furtheradjusted by moving the center point of the zoomed-in-on image, y_(ZC),along the y-axis by an amount equal to the amount Δy, that the pre-zoomimage was moved multiplied by the ratio of the height of thezoomed-in-on image to the height of the default image (Δy xy_(Z)/y_(D)).

Focus Zoom Interactive Function

In still a further embodiment of the system 10 according to theinvention, a different, enhanced zoom interactive feature is availablewith respect to certain sets of images 14 that allows a user to choose aspecific area 1100 on a particular image that will become the focus ofthe zoom. The focus zoom interactive function allows a user to define anarea on a currently viewable image layer that he or she wants toenlarge, and to perceive the enlarged image at a particular locationrelative to the user's display, for example, at a location correspondingto center of the area defined by the user on the pre-zoom image, at alocation corresponding to the center of the viewable area of the user'sdisplay, or any other location. In a preferred embodiment, the focuszoom interactive function is implemented by the user drawing a lineacross the area on the image the user wants to focus in on, the systemdrawing a polygon (e.g., a rectangle) corresponding to the beginning andending points of the user-drawn line, enlarging the image, andrepositioning the image so that the point corresponding to the center ofthe polygon on the enlarged image ends up at the desired locationrelative to the user's display (e.g., at the center of the line drawn bythe user). As will be appreciated by one skilled in the art, the focuszoom interactive function may be implemented in a variety of differentways. One method is described below.

In a presently preferred embodiment of the invention, and with referenceto FIG. 29, the focus zoom interactive function is implemented with animage layer 200, a tool bar layer 202, a first transparent layer 204,and, optionally, a third transparent layer 1102 that is similar inpurpose and function to the second transparent layer 206 described abovein connection with the measuring interactive function. Indeed, in thecase where both the measuring interactive function and the focus zoominteractive function are both available to a user with respect to aparticular set of images 14, the third transparent layer 1102 and themeasuring interactive function second transparent layer 206 are one inthe same.

Generally, the focus zoom interactive function is implemented asfollows: (1) the user defines an area on the currently viewable imagelayer 200 using the mouse crosshairs as to which a focus zoom operationis desired to be carried out; (2) the software 20 causes a polygon to bedrawn around the area selected by the user where the polygon iscalculated based upon the distance and coordinates corresponding to theuser's degree of drag; (3) the image in the currently viewable imagelayer, which we are referring to for the purposes of this description asthe original or pre-zoom image, is repositioned so that the upperleft-hand corner of the original or pre-zoom image overlies thecoordinates corresponding to the upper left-hand corner of the defaultimage; (4) the original or pre-zoom image is zoomed in on according to afocus zoom factor, z_(F), which can be calculated based on either thex-coordinates of the user-defined polygon and the width of the originalor pre-zoom image or the y-coordinates of the user-defined polygon andthe height of the original or pre-zoom image; (5) optionally, thezoomed-in-on image is further repositioned to any desired x- andy-coordinates, e.g., so that the point corresponding to the center ofthe polygon on the zoomed-in image coincides with the center of thedefault image, so that the point corresponding to the center of thepolygon on the zoomed-in-on image coincides with the center of theviewable area of the user's display, or so that the point correspondingto the center of the polygon on the zoomed-in-image is positioned at anyother desired location relative to the user's display; and (6) a polygonis drawn around the point corresponding to the center of the polygon onthe zoomed-in-on image that proportionately corresponds to thedimensions of the user-defined polygon.

Preferably, and with reference to FIG. 30 a, a user can invoke thisspecialized zoom interactive function by clicking with a mouse on afocus zoom button 1104 on the tool bar 100. The focus zoom button 1104may include the text “Focus Zoom” or alternatively may comprise agraphic, such as a representation of a magnifying glass. When a graphicis used, the words “Focus Zoom” or perhaps a more comprehensivedescription of the interactive function that corresponds to the buttonwill appear or “pop up” when a user moves a mouse over the button.

When a user clicks on the focus zoom button 1104, the system 10 is putinto focus zoom mode by, for example, setting a predefined variable to aparticular value, such as “0” or “1.”

In a presently preferred embodiment, the movement of the mouse while thesystem 10 is in focus zoom mode is tracked on the user's display withcrosshairs 1106. In order to identify the specific area 1100, on animage on which the user wants to focus with the focus zoom interactivefunction, in a preferred embodiment, the user positions the crosshairsin the vicinity of the area by manipulating the mouse, and holds downthe mouse button and drags the mouse across the specific area to defineit for the system 10. The x- and y-coordinates of the mouse at the onsetof the dragging action, either in relation to the screen or in relationto the focus zoom transparent layer 1102, are recorded by the software20, for example, as x_(/) and y_(/). As the mouse is dragged in anydirection across the object 16 depicted in the currently viewable imagelayer 200, the x- and y-coordinates of the mouse position during thedrag are recorded. When the user stops dragging, the x- andy-coordinates of the mouse are recorded by the software 20, for example,as x_(//) and y_(//).

A polygon 1108, preferably a rectangle or a square is drawn on theuser's display where the sides of the polygon are drawn based on thedifference between x_(//)and x_(/) and the difference between y_(//) andy_(/). If the optional focus zoom transparent layer 1102 is used, thenthe polygon 1108 is drawn by the software on that layer.

When the user is satisfied with the specific area 1100 he or she hasdefined by the mouse dragging action, the user releases the mousebutton. The user's release triggers an algorithm in the software 20 thatdetermines the area on the currently viewable image layer 200 thatcorresponds to the area defined by the polygon 1108.

Next, and with reference to FIGS. 30 b-30 d, the image is repositionedaccording to the following. First, the upper left-hand corner of thepre-zoom image, x_(OL) and y_(OL), is moved to the positioncorresponding to the upper left-hand corner of the default image, x_(DL)and y_(DL).

The degree of the focus zoom is determined by a focus zoom factor,z_(F). More specifically, the focus zoom factor, z_(F), is determined bydividing either the width of the pre-zoomed image or the height of thepre-zoomed image, by the length of a side of the polygon 1108, either aside along the x-axis, e.g., x_(pu), or a side along the y-axis, e.g.,y_(pu). For example, if the length of the side of the polygon 1108 alongthe x-axis is used, the focus zoom factor, z_(F), would be determined asx_(O)/(x_(//)−x_(/)). Alternatively, if the length of the side of thepolygon 1108 along the y-axis is used, the focus zoom factor, z_(F),would be determined as y_(O)/(y_(//)−y_(/)).

Then the pre-zoom image is enlarged by multiplying the width x_(O) andthe height y_(O) by the focus zoom factor, z_(F), to get the zoomed-inon image width and height.

With reference to FIG. 30 e, then the zoomed-in-on image is repositionedin a negative direction on the x-axis (i.e., to the left) with respectto the point to which the upper left-hand corner of the image layer ismoved, by an amount equal to the sum of the first and second positionsalong the x-axis that were used to define the polygon, x_(/) and x_(//),divided by two, multiplied by the focus zoom factor, z_(F) (i.e.,x_(O)−(x_(/)+x_(//))/2×z_(F)) and in a negative direction on the y-axiswith respect to the point to which the upper left-hand corner of theimage layer is moved, by an amount equal to the sum of the first andsecond positions along the y-axis that were used to define the polygon,y_(/) and x_(//), divided by two, multiplied by the focus zoom factor,z_(F) (i.e., y_(O)−(y_(/)+y_(//))/2×z._(F))).

The same result as is obtained by the calculations(x_(O)−(x_(/)+x_(//))/2)×z_(F) and (y_(O)−(x_(//)−y_(/)))/2)×z_(F) canalso be achieved by the following (x_(O)−(x_(//)+x_(/))/2)×z_(F) and(y_(O)−(y_(//)−y_(/)))/2)×z_(F).

Next, and with reference to FIG. 30 f, the zoomed-in on image 1080 isthen moved in the opposite direction by an amount corresponding to thedistance between the x-coordinate of the upper left hand corner of thedefault image, x_(D), and the x-coordinate corresponding to the upperleft-hand corner of the pre-zoom image, x_(OL), multiplied by the focuszoom factor, z_(F), and an amount corresponding to the distance betweenthe y-coordinate of the upper left hand corner of the default image,y_(D), and the y-coordinate corresponding to the upper left-hand cornerof the pre-zoom image, y_(OL), multiplied by the focus zoom factor,z_(F).

Although only one method of implementing the focus zoom interactivefunction is described above, it will be readily appreciated by one withskill in the art, there are alternate ways of carrying out the focuszoom interactive function in the software 20 in accordance with theinvention. For example, in determining the height along the y-axis ofthe zoomed-in-on image, y_(Z), an alternative to using a focus zoomfactor, z_(F), would be to use the width of the zoomed-in-on image alongthe x-axis, x_(Z). That is, the height of the zoomed-in-on image, y_(Z),can be determined by taking the width of the zoomed-in-on image, x_(Z),dividing the width of the zoomed-in-on image by the width of thepre-zoom image, x_(O), and multiplying it by the height along the y-axisof the pre-zoom image, y_(O).

Once the afore-described positional adjustments have been made, thesoftware 20 can be further configured to move the zoomed-in-on image sothat the point corresponding to the center of the user-defined polygonon the pre-zoomed-on image is positioned to any other position relativeto the viewable area on the user's display, such as the center of thepolygon 1108, the center of the viewable area on the user's display orany other position on the user's display.

For example, to move the point corresponding to the center of theuser-defined polygon 1108 on the zoomed-in-on image 1080 to the pointcorresponding to the center of the default image 1060, the zoomed-in-onimage is moved in along the x-axis by an amount corresponding to halfthe width of the default image 1060 (x_(D)/2) of the currently viewableimage layer 200 and moved along the y-axis by an amount corresponding tohalf the height of the default image 1060 (y_(D)/2). This action centersthe point corresponding to approximately the center of the polygon 1108on the zoomed-in-on image 1080 on the user's display 1114 in an areacorresponding to approximately the center of the default image 1060.

In another example, and with reference to FIGS. 30 g and 30 h, to movethe point corresponding to the center of the user-defined polygon 1108on the zoomed-in-on image 1080 to the point corresponding to the centerof the user-defined polygon 1108 on the pre-zoom image 1070, thezoomed-in-on image 1080 is moved along the x-axis by an amountcorresponding to the distance from the upper left hand corner x_(DL),y_(DL) of the default image 1060 to the center of the user-definedpolygon 1108 on the pre-zoom image 1070. The currently viewable imagelayer 200 is then moved (x_(//)+x_(/))/2 subtracted from x_(DL) in thex-axis, and (y_(//)+y_(/))/2 subtracted from y_(DL) in the y-axis. Thisaction centers the point corresponding to approximately the center ofthe polygon 1108 on the zoomed-in-on image 1080 on the user's display1114 in an area corresponding to the point corresponding to the centerof the polygon 1108.

Similarly, the point corresponding to the center of the polygon 1108 onthe zoomed-in-on image 1080 can be moved to any other desired locationalong the x- and y-axes. This is the case because the system 10 willalways be able to calculate the distance between the upper left-handcorner of the default image 1060 to any other x, y point. Thus, forexample, if it is desired to position the zoomed-in-on image 1080 in thecenter of the user's display instead at a point corresponding to thecenter of the user-defined polygon 1108, the zoomed-in-on image 1080will be moved along the x-axis to an x-coordinate that is a distanceequal to the difference between the x-coordinate of the center of theuser's display and x_(a) and the zoomed-in-on image 1080 will be movedalong the y-axis to a y-coordinate that is a distance equal to thedifference between the y-coordinate of the center of the user's displayand y_(DL).

With reference to FIGS. 30 i and 30 j, the x- and y-coordinates on thezoomed-in-on image 1080 of the point which corresponds to the point thatwas at the center of the polygon 1108 before the image was enlarged isthen used by the system 10 to draw a proportionately-sized new polygon1109 on the zoomed-in-on image 1080 to define the focused in on area.One method of defining the location of the new polygon 1109 is to takehalf the distance between x_(//) and x_(/) on the x-axis and multiply itby the focus zoom factor, z_(F), and to take half the distance betweeny_(/) and y_(/) on the y-axis and multiplying it by the focus zoomfactor, z_(F). By subtracting and adding this distance to x_(F) andy_(F), the four points of a polygon can be determined, and, thus, thenew polygon 1109 can be drawn.

In a presently preferred embodiment, when the focus zoom interactivefunction is enabled for a set of images 14 and the standard or regularzoom interactive function described previously is also available forthat set of images 14 and indicated on the tool bar 100 by the thumb 106and track 108, it is desirable to correlate the position of the thumb106 along the track 108 to the degree of zoom that is carried out in afocus zoom. That is, a regular zoom interactive function is initiated bythe user when the user causes the thumb 106 to move along the track 108on the button 104 on the tool bar 100 that is disposed in the tool barlayer 202. The image in the currently viewable image layer 200 isenlarged by exposing more pixels of the image. The degree to which theimage is enlarged is determined by using the regular or standard zoomfactor, z, and the number of pixels corresponding to the distance thethumb 106 has moved along the track 108. For purposes of thisdescription and with reference now to FIG. 30 k, the position of thethumb 106 along the track at any given point in time can be referred toas x_(TH), the position of the thumb 106 at the far left of the track108, i.e., the zero position corresponding to a non-zoomed image, can bereferred to as x_(TH0), and the position of the thumb 106 at the farright of the track 108, i.e., the maximum position corresponding to themaximum possible zoom when the regular zoom interactive function iscarried out, can be referred to as x_(THmax). The number of pixelscorresponding to the difference between the position of the thumb 106during a regular zoom interactive function, x_(TH), i.e., the distance auser has caused the thumb to move along the track 108 can be defined asΔx_(TH)=x_(TH)−x_(TH0).

When the focus zoom interactive function is desired, the user causes itto be carried out not by causing the thumb 106 to move along the track108, but rather by using the crosshairs 1106 to define a polygon 1108 toselect the area on which to focus the zoom. Once the focus zoom has beencarried out, it is desirable for the position of the thumb 106 along thetrack 108 to reflect the degree to which the image in the currentlyviewable image layer 200 has been enlarged. For example, if the userwants to implement a regular zoom function with respect to an image thathas been enlarged by reason of carrying out a focus zoom, such aszooming in further on the image or zooming back out on it, the userwould use the thumb 106. In this case, then, the position of the thumb106 along the track 108 would have to correspond to the degree to whichthe image has been enlarged by reason of the focus zoom. Thus, in apresently preferred embodiment of the system 10 according to theinvention, the width of the zoomed-in-on image, x_(Z), and the regularzoom factor, z, are used to calculate the appropriate thumb position,x_(TH), along the track 108. More specifically, the focus zoom factor,z_(F), is determined by dividing the width of the zoomed-in-on image,x_(Z), by half the distance between the first position of the mouse whenthe focus zoom mouse dragging action commences, x_(/), and the endingposition of the mouse after the dragging action is completed by theuser, x_(//), i.e., x_(Z)/((x_(//)−x_(/))/2). If the result of thiscalculation is not a whole number, the number preferably is rounded tothe nearest whole integer. The regular or standard zoom factor, z, whichis used in implementing a standard zoom interactive function asdescribed herein above, is determined prior to loading the webpage andmay be arbitrary. For example, the maximum degree to which an image canbe zoomed in on can be predefined for any image 12. One way ofdetermining the zoom factor, z, is to take the width of the imagecorresponding to the state when the image is at the desired maximumdegree of zoom, dividing it by x_(D) and multiplying it by 100 dividedby x_(THmax).

The position of the thumb along the track, x_(TH), is then determined asfollows: The width of the zoomed-in-on image, x_(Z), minus the defaultwidth, x_(D), is multiplied by the ratio of 100 over the zoom factor, zmultiplied by the default width, x_(D) (i.e.,x_(TH)=(xZ_x_(D))×100/z×x_(D)). If the result of this calculation isgreater than the maximum possible position for the thumb along thetrack, x_(THmax), then x_(TH) is set to x_(THmax), and the thumb 106accordingly is moved to the end or far right of the track 108. As willbe apparent to those skilled in the art, various other methods may beused to calculate the distance by which the thumb 106 ought to be movedalong the track 108 to reflect the degree to which an image in acurrently viewable image layer 200 has been zoomed in on.

Supplemental Information Interactive Function

In accordance with yet another preferred embodiment of the presentinvention, and with reference to FIGS. 31-33, the software 20 of thesystem 10 allows a user to retrieve and view supplemental information1200 corresponding to particular areas of an image 12 in a set of images14 displayed to a user in a currently viewable image layer 200. Thissupplemental information 1200 may include software for executing otherfunctions, text, graphics, other images, links to other websites orwebpages, jpeg files or other HTML files having video or audio content,or any combination of these. Particular areas of an image 12 in thecurrently viewable image layer 200 are identified to the user by someappropriate means designed to stand out to the user, such as byhighlighted areas 1202, which can be colors, symbols or any otherappropriate designator. In the example shown in FIG. 31, the object 16is a vase, and only one highlighted area 1202 is shown as a coloredsymbol or circle. Each highlighted area 1202 is associated in thesoftware with a set of supplemental information 1206. With reference toFIG. 32, the set of supplemental information 1206 associated with anygiven highlighted area 1202 can be retrieved and viewed by a user whenthe user takes some pre-defined action with respect to the highlightedareas 1202, for example, moving the mouse over the highlighted area 1202or clicking with the mouse on the highlighted areas 1202. Alternatively,a tool bar button 101 can be provided for user to invoke thesupplemental information interactive function, such that when the userthereafter moves a mouse over a highlighted area 1202, the associatedset of supplemental information 1206 will be displayed.

Preferably, points along the x-axis and points along the y-axis thatcorrespond to the location of each highlighted area 1202 are recorded inthe software 20. These x- and y-coordinates can correspond to points onthe user's display, or points on a particular layer, such as a dedicatedlayer on which the highlighted areas 1202 for an image 12 in a currentlyviewable image layer 200 are provided as described below. Preferably,information is recorded in the software 20 with respect to eachhighlighted area that permits the system 10 to calculate and update thedesired position of the highlighted areas 1202 relative to the image 12to which the highlighted area 1202 pertain, so that regardless of whichother interactive functions might be carried out with respect to a givenimage 12 (e.g., a zoom operation, a move interactive function, etc.),the relative position of the highlighted areas 1202 with respect to theimage 12 will appear to remain constant from the perspective of theuser.

When the user positions the mouse anywhere within the x- andy-coordinates that correspond to the location of a highlighted area 1202on the user's display, the system 10 correlates the position of theuser's mouse with the known position of corresponding highlighted area1202, and then correlates the particular highlighted area 1202 with thesupplemental information 1206 that is intended to be associated with thehighlighted area 1202. The system 10 will then display to the user theappropriate set of supplemental information 1206 that is associated withthat particular highlighted area 1202. The display of the supplementalinformation 1206 desirably occurs by revealing a previously hidden layeror portion of a layer in which the supplemental information 1206 isprovided. In a presently preferred embodiment, the supplementalinformation 1206 is provided in the same designated layer as thehighlighted area 1202 that is associated with the supplementalinformation 1206, but the portion of the dedicated layer in which thesupplemental information is provided remains hidden unless and until auser mouses over or clicks on the pertinent highlighted area 1202. Whena user mouses over or clicks on the pertinent highlighted area 1202, theportion of the dedicated layer containing the supplemental information1206 is unhidden and revealed to the user. Preferably, the system 10will display the retrieved set of supplemental information 1206 in aform similar to that of a pop-up window, which is a form well known tothose with skill in the art.

The sets of supplemental information 1206 might include such things asdetails about the materials from which the vase is constructed,information as to whether the vase is available constructed of differentmaterials, sizes, or colors, information about the nature, origin, orcreator of a certain design on the vase, a video clip of the vase in ahome or museum, an audio clip from a customer who bought the vase and isenjoying it, a link to a website on which other decorative items havingpatterns matching that of the vase are available, etc. As will beappreciated by one with skill in the art, the nature of the content ofthe sets of supplemental information 1206 can vary widely, dependingupon the nature of the object(s) 16 or scene(s) 17 depicted in the setof images 14 from which the image 12 in the currently viewable image 200derives.

In a presently preferred embodiment of the system 10 according to theinvention, the location(s) for a given image 12 in a set of images 14that will be designated with highlighted areas 1202 and associated withsets of supplemental information 1206 are determined at the time theimages 12 in a set of images 14 is configured in the system 10 to bemade available for users to download via a webpage in response to theuser's request for the webpage. Alternatively, the identification of thehighlighted areas 1202 and the corresponding sets of supplementalinformation 1206 can be provided to the system 10 sometime after a givenset of images 14 has been configured for downloading to a user andenabled for various interactive functions.

Further, and as mentioned above, in a presently preferred embodiment ofthe system 10 according to the invention, the location of a highlightedarea 1202 relative to a particular area on an image 12 displayed in acurrently viewable image layer 200 will remain the same even if otherinteractive functions are carried out with respect to the image 12, suchas a move interactive function or a zoom interactive function. As willbe appreciated by one with skill in the art, the supplementalinformation interactive function can be enabled and implemented in thesoftware 20 of the system 10 in a variety of different ways. Two ofthese possible ways are described below.

In a presently preferred method of enabling and carrying out thesupplemental information interactive function, there is a predefinednumber of highlighted areas 1202 or “hot spots” for each image 12 in aset of images 14. Associated with each highlighted area is a set ofparameters including an image identifier, which identifies to the system10 the particular image 12 in a set of images 14 with respect to whichthe highlighted area 1202 is to be displayed, position identifiers,which identify to the system 10 the position of each highlighted area1202 relative to the x- and y-axis of the actual image (e.g., the actualimage having width x_(A) and height y_(A) as described above), and acontent identifier, which identifies to the system 10 the HTML code orother content that comprises the supplemental information 1206 for thatparticular highlighted area 1202, e.g., text, an audio clip, a videoclip, a link to another website, etc.

With reference to FIG. 33, when a set of images 14 is downloaded on awebpage in response to a user's request, the set of parametersassociated with the set of highlighted areas 1202 for that set of images14 is also downloaded. A dedicated layer 1210 is created for eachhighlighted area 1202 and its associated supplemental information 1206.The dedicated layers 1210 are configured so that the supplementalinformation 1206 provided therein will remain hidden unless and untilthe user moves over the associated highlighted area 1202 with a mouse orclicks on the associated highlighted area 1202 with a mouse. Eachdedicated layer 1210 is coupled with the pertinent set of parameters,i.e., the image identifier, the position identifiers, and the contentidentifier. Preferably, the dedicated layers 1210 are provided betweenthe tool bar layer 202 and the currently viewable image layer 200. DHTMLlayers can be coded so that the layers or portions of the layers can betoggled between a hidden state and a non-hidden state when they areperceptible by a user. Whenever a layer is hidden, it will not interferewith things that are happening with respect to any other layers, forexample, moving a mouse across a first transparent layer to accomplishmove of all of the image layers, drawing a line on a second transparentlayer, etc. The dedicated layers 1210 desirably each have a portion thatcan be hidden, i.e., the portion in which the set of supplementalinformation 1206 for the associated highlighted area 1202 is provided.The non-hidden portion of the dedicated layers 1210 is sized toapproximate the size of the symbol, text, other graphic, etc., that isused to designate the highlighted areas 1202. For example, if coloredcircles are used to designate the highlighted areas 1202, the non-hiddenportion of each dedicated layer 1210 will have approximately the samedimensions as the circles. Thus, the present of the dedicated layers1202 between the currently viewable image layer 200 and the tool barlayer 202 will not substantially impede a user's ability to carry outother interactive functions with respect to the currently viewable imagelayer 200, e.g., a move interactive function, or a manual rotateinteractive function. If the suite of interactive functions availablefor a given set of images 14 associated with one or more sets ofsupplemental information 1206 include interactive functions that use oneor more transparent layers, e.g., transparent layers 204, 206 as can beprovided in connection with the measuring interactive function, thededicated layers 1210 preferably are provided between the tool bar layer202 and the transparent layers 204, 206. In addition, and because it ispreferable to give the user the perception that the relative position ofthe highlighted areas 1202 to an image 12 remains the same, regardlessof whether some other interactive function is carried out with respectto the image, e.g., a zoom function, it is desirable to configure thededicated layers 1210 so that they cannot be dragged if a user tries touse his or her mouse to drag, for example, the highlighted area 1202provided in a dedicated layer 1210 from one location on the user'sdisplay to another.

At the point a webpage is downloaded, whichever image 12 in a set ofimages 14 that has been designated as the default image will bedisplayed to the user in the currently viewable image layer 200. Basedon the known dimensions of height and width of the default image, andthe known position of each highlighted area 1202 relative to the actualimage corresponding to the default image 12, the system 10 calculatesthe appropriate position of each highlighted area 1202 that isassociated with the default image 12.

One way in which this calculation can be accomplished is by (1) takingthe ratio of the width of the actual image x_(A) to the width of thedefault image, x_(D), and multiplying that ratio by the differencestored as the x-axis position identifier for each highlighted area,e.g., on the actual image 1050, the distance between an x-coordinate ofeach highlighted area 1202 and the x-coordinate of the upper left-handcorner of actual image, x_(AL), to get a delta distance along thex-axis, x_(delta); and (2) taking the ratio of the height of the actualimage y_(A), to the width of the default image y_(A), and multiplying itby the difference stored as the y-axis position identifier for eachhighlighted area, e.g., on the actual image 1050, the distance between ay-coordinate of each highlighted area 1202 and the y-coordinate of theupper left-hand corner of the actual image 1050, to get a delta distancealong the y-axis, y_(delta). Each highlighted area 1202 is thenpositioned over the default image 1060 at a distance x_(delta),y_(delta), measured from the coordinates of the upper left-hand cornerof the pre-zoom image, x_(OL), y_(OL)

The location of the highlighted areas 1202 provided in the dedicatedlayers 1210 relative to the image 12 with which the highlighted areas1202 are associated can be maintained in a similar fashion with respectto the currently viewable image layer 200 in any state, e.g., originalor pre-zoom, zoomed-in-on after a standard zoom, or zoomed-in-on after afocus zoom, because the coordinates of the currently viewable imagelayer 200 along the x- and y-axes are always known to the system 10, andthe x- and y-coordinates of the upper left-hand corner of the currentlyviewable image layer, for example, x_(OL), y_(OL) (for an original orpre-zoom image), x_(ZL), y_(ZL), (for an zoomed-in-on image), can alwaysbe used along with the known relationship of the highlighted areas 1202to the actual image 1050 to move the highlighted areas 1202 so that therelative position of the highlighted areas 1202 to the image 12 depictedin the currently viewable image layer 200 appears to remain the samefrom the perspective of a user.

Menu Options Interactive Function

With reference to FIGS. 34 a and 34 b, another presently preferredembodiment of the system 10 according to the invention provides aninteractive function that allows a user to choose from among severaloptions provided in a menu with respect to an object 16 or objects 16 orscene 17 depicted in a particular set of images 14. These menu options1250 may include a “specifications” option that allows a user to receiveinformation 1252 about an object 16, such as text constituting technicalspecifications about the object, for example, for a car or a camera, a“sizes” option that allows a user to receive information about availablesizes, for example, for an article of clothing, or a “price” option thatallows a user to look at price information, for example, with respect tovarious options that are available for a vehicle (special wheels,extended warranty, etc.). The information associated with the possiblemenu options, however, is not limited to various types of textualinformation and can include virtually anything that it might bedesirable to associate with an object in a given set of images 14, suchas other images or graphic depictions of related objects (e.g., if theobject in the set of images 14 is an article of clothing, one of themenu options might consist of images of possible accessories for thearticle, such as purses and jewelry or the like).

Preferably, a tool bar 100 is provided in a tool bar layer 202 that isassociated with the image layers 200 for a given set of images 14 with abutton or icon 1254 which, when clicked on with a mouse by a user,presents a user with menu options 1250. The system 10 can be configuredso that clicking on the menu button 1254 invokes or calls up a list ofthe menu options 1250 (e.g., a pull-down menu or a drop-down window).The menu option interactive function preferably is enabled andimplemented according to the following. When the image or images 12 in aset of images 14 are made ready for delivery by the system 10 inresponse to a user's request, the options to be provided for an image 12or set of images 14 is determined. For a given set of images 14 or groupof sets of images 14, a single or “universal” set of menu options 1250might be provided including choices such as “specifications,” “colors,”“price,” etc. Alternatively, different sets of menu options might beprovided for different images 12 within a set of images 14 or fordifferent sets of images 14 within a particular group of sets of images14. Preferably, once the menu options 1250 have been determined, themenu options 1250 are inserted into a menu option array that thesoftware 20 is configured to create for that particular set of images 14or group of sets of images 14. The actual information to be provided tothe user when any of the menu options is selected is put into anotherarray, a menu content array that is correlated to the menu option arrayso that, when one of the menu options is selected by a user, the system10 knows where to look in the menu content array for the information todisplay to the user with respect to that option. Thus, there are as manymenu option arrays and menu content arrays provided as there aredifferent menu options for each image 12, set of images 14, or group ofsets of images 14.

A user can invoke the menu options interactive function by mousing overor clicking on the menu option button 1254 on the tool bar 100. When theuser mouses over or clicks on the menu option button 1254, the system 10will cause the menu options for the image 12 in the currently viewableimage layer 200 to drop down in a manner similar to the manner in whicha drop-down window is configured to appear on a display.

When the user selects one of the menu options 1250, the system 10 willdisplay the appropriate information 1252 to display to the user inconnection with that menu option 1250. In a preferred embodiment, themenu option interactive function is enabled and implemented according tothe following. When a webpage is downloaded to a user by the system 10in response to a user's request, all of the information 1252corresponding to the menu options 1250 for a given image 12, set ofimages 14, or group of sets of images 14 are provided in menu contentlayers 1270. The menu content layers 1270 corresponding to the image 12in the currently viewable image layer 200 preferably are initiallyprovided (i.e., at the time the webpage is delivered to the user)between the tool bar layer 202 and the currently viewable image layer200, and between the tool bar layer 202 and the first transparent layer204, if a first transparent layer 204 is provided, although the menucontent layers 1270 can be provided in other locations relative to thetool bar layer 202 and the currently viewable image layer 200. Each menucontent layer 1270 is created with code in the software 20, e.g., astyle parameter, that keeps the menu content layer 1270 hidden when thewebpage is downloaded and the associated information 1252 is called forby a user.

When a user selects a menu option 1250, a series of links are commencedthat start up a script, preferably written in the JAVASCRIPT scriptinglanguage, that calls up the appropriate menu content layer 1270 thatcorresponds to that menu option 1250 and toggles the parameter for themenu content layer 1270 that renders the menu content layer 1270visible.

It is desirable to configure the menu content layers 1270 so that whenone is unhidden, it is elevated along the z-axis so that it is above anyother menu content layers 1270. In this configuration, in addition toviewing the information 1252 displayed in a menu content layer 1270, auser can move the menu content layers 1270 around on the viewable areaof the user's display, such as by clicking on a menu content layer 1270and dragging it to another location with a mouse. Also, if a user failsto re-hide a first menu content layer 1270 after the user has caused itto become unhidden by selecting a menu option 1250, the user can viewthe contents of other menu content layers 1270 corresponding todifferent menu options 1252 notwithstanding the fact that the first menucontent layer 1270 is still visible on the user's display. When the menucontent layers 1270 are implemented in DHTML, the elevation of one menuoption layer 1270 over or on top of another menu option layer 1270 isaccomplished by changing the z-index that is associated with each menuoption layer 1270 to move the menu content layers 1270 on top of or infront of each other. Alternatively, the menu content layers 1270 can beconfigured so as to remain fixed relative to other layers and/ornon-movable by a user.

Each menu content layer 1270 can be provided with a feature that allowsa user to re-hide the menu content layer 1270 once it has been unhiddenby a user, for example, an “X” might be provided in the upper right-handcorner of the menu content layers 1270 which, when clicked on with amouse, causes the menu content layers 1270 to become hidden again.

The default position of any menu content layer 1270 can be pre-definedwith respect to x- and y-coordinates corresponding to locations on theviewable area of the user's display, such as the center of the viewablearea, with each menu content layer 1270 appearing directly above thelast as menu options 1252 are selected by the user. Optionally, the menucontent layers 1270 can be configured so as to be semi-opaque, eitherwhenever the menu content layer 1270 is not hidden or whenever the menucontent layer 1270 is not hidden and positioned on top of anothernon-hidden menu content layer 1270, so that the content of other layers,e.g., the currently viewable image layer 200 or previously unhidden menucontent layers 1270, can still be perceived by the user.

Appearance Modifying Interactive Function

With reference now to FIGS. 35 a and 35 b, another interactive functioncan be provided in the system 10 according to the invention that isessentially a variation on the menu interactive function describedabove. Specifically, an interactive function can be provided that allowsa user to choose from among several options to perceive the appearanceof an object or objects 16 or a scene 17 depicted in a set of images 14,such as different colors or shades (e.g., red, light red, dark red,yellow, metallic yellow, etc.) or different patterns (e.g., stripes,checks, herringbone, etc.).

Preferably, the appearance modifying interactive function is configuredin the system 10 so as to be capable of being invoked by a user with amouse, such as by moving the mouse over (“mouse over”), moving the mouseover and pressing a mouse button down (“mouse down”), or moving themouse over, pressing a mouse button down and releasing the button(“mouse click”) on an appearance modifying button or icon 1280 on a toolbar 100 provided in a tool bar layer 202. The appearance modifyingbutton 1280 may include text that suggests the appearance modifyinginteractive function to which it corresponds (e.g., “colors”) or, thebutton 1280 alternatively might be indicated by a graphic that suggestthe interactive function. When a graphic is used, the system 10 can befurther configured so that text describing the nature of the interactivefunction that corresponds to appearance modifying button 1280 willappear or “pop-up” when a user moves a mouse over the button 1280.

The appearance modifying interactive functions is implemented accordingto the following. An appearance modifying option array is created by thesoftware 20 when the webpage with the enabled interactive images isinitially downloaded to a user. The appearance modifying option arraycontains all of the possible choices a user will have to modify theappearance of an object or objects 16 that are depicted in a set ofimages 14, such as all of the different color choices (e.g., colorswatches or “red,” “blue,” “yellow,” etc.) for a vehicle, a set ofdishes, etc., or all of the different fabric swatches for an article ofclothing or a window covering or an upholstered piece of furniture, etc.

As is the case with the menu options described above, the possiblemodifications can be the same for a given group of sets of images 14,such as a group in which each set of images 14 depicts objects in thesame category, such as a particular manufacturer's new line of carmodels, or a manufacturer's new line of furniture groupings.Alternatively, the possible modifications to the appearance of an objector objects 16 that are depicted in a set of images 14 can be defineduniquely for each set of images 14.

In a case where the system 10 is configured to display multiple symbols1010 that are each associated with a unique set of images 14 with whichinteractive functions may be carried out, the appearance modifyingoption array 1286 includes one or more parameters unique to each of theset of images 14 in addition to the possible modifications to theappearance. Then, a two-dimensional array is created in the software 20of the system 10, wherein the first dimension contains parameters and/orinformation sufficient to identify each set of images 14 for which theappearance modifying interactive function is to be enabled, and thesecond dimension contains information sufficient to identify each image12 in the sets of image 14. For example, the first dimension mightcontain pointers to four sets of images 14, each set of images 14comprising sixteen images 12 in a certain color, e.g., red, blue,yellow, and green. The second dimension in the two-dimensional arraywould contain pointers to the images 12 (i.e., sixty-four images 12).The first dimension in the two-dimensional array would specify which ofthe sixty-four belong to the red set of images 14, which belong to theblue set of images 14, which belong to the yellow set of images 14, andwhich belong to the green set of images 14.

This configuration of the software 20 of the system 10 is such as toallow a user to invoke the appearance modifying interactive function bymousing over, mousing down or clicking on the appearance modifyingbutton 1280 to obtain a menu of possible different appearance options,which preferably will be provided in a layer 1286 that is provided overor on top of the currently viewable image layer 200. The possibledifferent appearance options may be shown in a text list (e.g., “red,”“blue,” etc.) or as swatches. The user can choose one of the appearancemodifying options by using the mouse to scroll up or scroll down thelist 1296. Alternatively, the action required to choose one of theappearance modifying options can be a mouse down or mouse click action.When whatever action necessary to choose an appearance modifying optionhas been taken by the user, the currently viewable image layer 200,together with any associated hidden image layers 200 for thecorresponding set of images 14 are purged from the image layers 200 andswapped with the appropriate set of images 14 in the two-dimensionalarray 1288 that corresponds to the user's appearance modifying choice.

As will be appreciated by one with skill in the art, this embodiment ofthe invention is not limited to the appearance modifying examples given(e.g., colors, patterns, etc.), but rather can be used to swap anyimages in and out of the user's display, for example, images showingdifferent objects 16 or scenes 17. Moreover, the software 20 can beconfigured to execute any action when the appearance modifying option isinvoked by a user.

Transport Interactive Function

In another presently preferred embodiment of the system 10 according tothe invention, a further interactive function is enabled with respect toone or more sets of images 14 that enables a user to be transported to awebsite or a particular webpage on a website that has some relationshipto the set of images 14, e.g., a website via which a user can carry outand complete a transaction with respect to an object depicted in the setof images 14. This transporting interactive function is desirable wherethe objects depicted in a set of images 14 are being offered for sale inan e-commerce situation. Preferably, in this embodiment, the tool bar100 disposed in the tool bar layer 202 for the set of images 14 isprovided with a transporting button or icon 1310. The button may containtext describing the transporting function it enables or, alternatively,may be designated by a graphic, such as shopping cart or the fulfillmentwebsite owner's trade name, such as the trade name PAYPAL used by theEBAY company. Alternatively, the transport interactive function might beinvoked by something other than a tool bar button, such as by a choiceon a menu or drop-down menu, or by some other icon located anywhere on auser's display.

While in this embodiment has been described with reference totransporting a user to a website or webpage on which e-commercetransactions may be carried out, the website or webpage to which a useris transported can be of any type, and are by no means limited towebsites or webpages through which e-commerce can be transacted. Thistransporting interactive function can be described as follows. Thewebsite or website to which a user is transported upon clicking on thetransport button 1310 that is associated with a given set of images 14is identified to the system 10 along with the variables andcorresponding values for the variables that are required by thatlocation, i.e., the variables needed by the target website home page orsome other webpage, such as variables that define each item a user wantsto purchase, the color or size the user wants, etc.

The variables are associated with a set of images 14 at the time the setof images 14 is put into a form in which it can be delivered to a user'scomputer in response to a user's request. An algorithm that will effecta link from the webpage on which the currently viewable image layer isbeing displayed to another website/webpage is defined in the software 20and is invoked when a user clicks on the transporting button 1310. Whenthe user clicks on the transporting button 1310, the system 20 insertsthe variables and corresponding values that are stored with the set ofimages 14 into the algorithm, and when the algorithm is executed, theuser is transported to the appropriate other website/webpage.

Although the foregoing preferred embodiment of the invention isdescribed with reference to transporting the user to a different websiteor webpage, the same methodology can be used to transport the user toany other location. For example, the user might be transported to anemail address, or any other types of HTML and/or JAVASCRIPT supportingdigital devices, such as a cell phone.

Transact Interactive Function

In accordance with still another preferred embodiment of the presentinvention, a transact interactive function is provided which permits auser to undertake and complete, at least from the perspective of theuser, a transaction without the user ever having to leave the webpagethat was first downloaded to the user upon the user's request.Preferably, the transport interactive function is enabled andimplemented by providing a transact layer which is designated to provideinformation concerning any variables and corresponding values for thevariables that are related to or relevant to a transaction concerning animage 12 or a set of images 14. For example, the transact variablesmight include price, shipping options, quantity, etc. and thecorresponding transact values might be dollar amounts, ground or air,the numbers one through ten, respectively. The software 20 of the system10 can be configured to carry out various transact operations withrespect to the transact variables and transact values, such as computingtotal costs based on quantities, price and shipping costs. Thepresentation and style of the information in the transact layer can bein any format. For example, the format may be such that it containscolumns of items and prices, with a totaling line underneath.

The appearance of the transact layer preferably is partially determinedby variables that are defined at the time the webpages are downloaded toa user in response to a user's request, such as variables define howtables or columns will appear and what descriptive headings they mighthave. However, the appearance of the transact layer also desirablychanges dynamically, based on variables the values of which are suppliedwhile the user is interacting with the webpage, such as variablesidentifying items selected for purchase, color choices, sizes,quantities, etc.

In a preferred embodiment, when a user invokes the transact interactivefunction, the transact layer containing the transact variables andtransact values for a given set of images 14 is provided above all ofthe other layers, e.g., on top of or in front of the tool bar layer 202.The user is provided with the ability to close the transact layer, forexample, by clicking on an “X” disposed in the upper right-hand cornerof the transact layer. When a user clicks on the “X,” all of thetransact variables and the corresponding values as of that moment arestored by the system 10 in memory, so that the transact layer can berecreated at any time, for example by a user's clicking again on thetransact button. The transact variables and their corresponding valuesat the time the user clicks on the “X,” can be passed from the webpagewith which a user is currently interacting to any other webpage, so thetransact layer can be recreated with information from previous pageswhenever the transact interactive function is invoked by a user withrespect to a given set of images 14.

Although the transact interactive function has been described withreference to completing a transaction with respect to a set of images14, the transact interactive function can be configured for anyapplication in which it is desirable to collect information related to auser's interaction with a set of images 14, to manage and manipulatesuch information, e.g., to tally it, and to present such information ina concise and easily understood format.

Enhanced Tool Bar

According to still another preferred embodiment of the system 10according to the invention, and with reference now to FIG. 37, the toolbar 100 that can be provided in a tool bar layer 202 or otherwisedisplayed to the user, for example, directly with the currently viewableimage such as in the currently viewable image layer 200, has a featurethat allows a user to perceive the various tool bar buttons (e.g., themove tool bar button 102, the zoom button (standard zoom) 104, the focuszoom button 1104, the reset button, 110, the measure or measuring toolbutton 112, the pan or move button 114, the rotate right button 116, therotate left button 120, the manual rotate button 118, the transportbutton 1310, the menu option button 1254, and the appearancemodification button 1280, etc.) in an aesthetically pleasing manner,whereby when a user moves a mouse over a particular tool bar button(“mouse over”), that tool bar button is both highlighted (i.e., toconvey to the user that the system 10 has acknowledged the user's mouseover) and to pop up a window containing information relevant to thefunction that is invoked by the tool bar button (e.g., a textual labeldefining the function (for example, “focus zoom”), instructions as tohow to implement the function (e.g., click on the object and drag rightto rotate right, etc.). More specifically, whenever a user mouses over atool bar button, the corresponding pop up window is presented moresmoothly than would be the case without the enhancement.

In a preferred embodiment, the enhanced tool bar function is enabled andimplement according to the following. Tool bar buttons 101 are providedin a tool bar button table 1362 and the information 1364 to be displayedfor the tool bar buttons 101 is provided in a separate tool barinformation table 1366. When a user mouses over a tool bar button 101,the corresponding tool bar information 1364 also pops, up. Because thetool bar buttons 101 and the tool bar information 1364 are kept inseparate tables, there is a noticeable smoothness to the flow of the popup windows that is not present when only a single table is used to holdboth the tool bar buttons 101 and the corresponding tool bar information1364 to be displayed when a given tool bar button 101 is moused over.

Emailing

According to still another preferred embodiment of the invention, afeature is made available whereby webpages that are enabled for one ormore of the various interactive functions described above can be easilyemailed to user's email address in response to a request for an enabledwebpage or in response to a command to the system 10 to email an enabledwebpage. This feature of the invention preferably is enabled as follows.There are three principle ways of emailing, namely, emailing from awebpage, emailing from a webpage with frames, and emailing without usingan external server. Upon receipt of a request to send a webpagecontaining a set of images 14 or sets of images 14 enabled forinteractivity according to the invention via email, the system 10 cancause an HTML page to be created containing the pertinent contentnecessary to interact with a given set of images 14 or sets of images 14and the pertinent scripting language (e.g., JAVASCRIPT) that isnecessary to carry out the interactive functions. This method results inan HTML page that is devoid of any content that is likely to berecognized by firewalls as being content the delivery of which via emailshould be blocked. Alternatively, the JAVASCRIPT on the HTML page can beincorporated with links to js files but, when this approach is used,delivery of any email with which the HTML page is sent is more likely tobe blocked by firewalls.

Any image to be delivered with the HTML page can be embedded into theHTML pages with <img> tags, and the width and height of the <img> can beset to 1, so the images appear as tiny dots on the page. The imagesnevertheless will be available for use by the JAVASCRIPT scripts withoutany pathing restrictions, i.e., because the image will be in a localdirectory, and the possibility that the image(s) called for is at alocation that cannot be reached by the email recipient is eliminated.The emailed HTML having to point to a webpage or other source to get theimage files. Because they are sourced locally, e.g. <img src=“name ofimage file.jpg”>, this restriction is removed.

Options for Enabling Images with Interactivity

Moreover, and although one presently preferred embodiment of the system10 according to the invention is directed towards applications withthird party website providers, other applications are contemplated andare within the scope of the invention, as will be apparent to thoseskilled in the art. For example, a user may acquire one or more imagesof an object on their own, such as by taking multiple digitalphotographs of an object from different angles in a particular360-degree plane. The user then might upload the acquired images to thewebsite of a provider of the system 10 according to the invention,whereupon the system provider would associate the software 20 with theuser's set of images to enable various possible interactive functions,perhaps as selected by the user from among a menu of availableinteractive functions. The system provider would then deliver theinteractivity-enabled set of images back to the user via any suitablemeans, such as Via web pages or on a CD-ROM or other storage device. Theuser could then use his or her own processor to implement the software20 and carry out the available interactive functions, for example, inthe course of a presentation using the POWERPOINT program available fromMicrosoft Corporation.

Similarly, a user may be able to obtain the software 20 and associatehis or her images with the software 20 directly, using the processor ofhis or her computer to implement the software 20, so as to enable theimages for interactivity. For a more sophisticated user, the software 20might include prompts for the user to enter certain parameters to tailorthe available interactive functions for different sets of images. For aless sophisticated user, the software might include prompts forinformation that are simpler to follow, such as “upload image #1,”“upload image #2,” “enter the height of the object in inches,” etc.

Additionally, the software 20 can be associated with a set of images 14that are intended to be delivered to, and interacted with by, users whorequest the sets of images 14 over an intranet, or who download the setsof images 14 and the software 20 to temporary or permanent memory ontheir personal computers, PDAs (“Personal Data Assistants”), cell phonesor other devices suitably equipped to accept the delivered sets ofimages 14 and to implement the software 20 with an appropriateprocessor.

Graphical User Interface (“GUI”)

In one presently preferred embodiment of the system 10 according to theinvention, and with reference to FIGS. 38-40, a graphical user interfaceor “GUI” is provided to enable a user to associate his or her imageswith the software directly, so as to enable the images forinteractivity. More specifically, the GUI 1800 according to theinvention is provided with one or more features that allow a user tosimply and easily transform their images in whatever starting format,e.g., compressed image file format such as in a “jpeg” file or in agraphics file format such as in a “tif” or “tiff” file, into images withwhich a user can enable various interactive functions such as thosedescribed herein. In the example shown in FIG. 38, the GUI 1800 has a“File” menu option a user can use to open the user's image files. Whenan image file 1802 is open, the GUI 1800 presents a window 1804 on theuser's display that contains certain information about the file, such asthe dimensions of the image in pixels. The user can select the image1806 associated with the open image file as one to use with the system10 and therefore as one for which interactive functions will be enabled,for example by clicking with a mouse on the image 1806. Other methods ofhaving the user identify and select the images to render interactivewith the system 10 will be apparent to one with skill in the art. Theimages selected by the user in part will determine the nature and kindof interactive functions that can be enabled for an image 12 or a set ofimages 14. For example, if a user wishes to achieve a virtual 3-D effectfor an object 16 or a scene 17, then the user would need to selectimages 1806 that show the object 16 at different angles acquired atdifferent increments in a plane, q, of the object 16 or scene 17. Incontrast, if a user wishes to enable only a zoom interactive functionfor an object 16 or scene 17, then the user can select as few as oneimage 1806 for that purpose.

Once the user has selected images 1806, the system 10 causes the images1806 to appear in the GUI display area 1808. Various features of the GUI1800 prompt the user to enter information with respect to an image orimages 1806 so that the software 20 that is necessary to enable andimplement different interactive functions can be created and coupledwith the image or images 1806 so as to be made ready for delivery, forexample, over a webpage or to a browser, via a banner advertisement, orin an email. The GUI 1800 also provides the user with the option ofskipping over a selected image or images 1806. Some examples of thetypes of information the GUI 1800 according to the invention mightprompt the user to enter are as follows:

(1) Image Specifications: The user may be prompted to enter informationcomprising specifications about the size of an image 1806, i.e., theheight and width of an image 1806 in pixels, when the image is in thedesired default state, i.e., the user identifies the dimensions the userwants the default image 1060 to have.

(2) Measuring Specifications: The user may be prompted to enterinformation comprising the actual physical dimensions of an object orobjects 16 or scene 17 that is depicted in an image or images 1806, forexample, when the user wishes to enable the measuring interactivefunction for an image or images 1806. In a presently preferredembodiment, and with reference to FIG. 39, a user is prompted to draw aline 1807 corresponding to any dimension on an object 16 in an image1806, for example, corresponding to the width of an object. Preferably,the user accomplishes the drawing of the line 1807 using a mouse,although it will be apparent to one with skill in the art that othermethods are possible. The user is then prompted to input a physicaldimension that is to be associated with the dimension indicated by thedrawn line and the units of measurement for that physical dimension,e.g., 3.2 inches, 5 centimeters, etc. For example, the user might beprompted to draw a line, and the GUI 1800 will display to the user thenumber of pixels to which the selected dimension corresponds. The GUI1800 will then prompt the user to enter the physical dimension to whichthe line corresponds in units and units of measurement. The system 10can use this information to calculate a pixel factor, px, that can beused in enabling and carrying out the measuring interactive function,whereby any dimension in pixels of an object 16 depicted in a set ofimages 14 can be defined and selected by a user to be measured, and thesystem 10 will use the pixel factor, px, to translate the selecteddimension into the corresponding physical dimensions units ofmeasurement.

(3) Zoom Factor: The user is prompted to zoom in and out of an image1806 displayed in the GUI, and to select the degree to which the userdesires the image 1806 to be zoomed in on when a zoom interactivefunction is carried out. In a preferred embodiment, the GUI 1800 willdisplay a thumb 1810 disposed along a track 1812, which is similar tothe thumb 106 and track 108 that constitute the standard zoom button 104on the tool bar 100. When the user moves the GUI thumb 1810 along theGUI track 1812, the image 1802 will be expanded and contracted accordingto the position of the GUI thumb 1810 along the GUI track 1812, toexpose and conceal, respectively, pixels to change the resolution of theimage 1802. The maximum position on the GUI track 1812, i.e., theright-most position in the example shown in FIG. 38, corresponds to themaximum resolution or maximum desired possible zoom for an image 1806.The zero position on the GUI track 1812, i.e., the left-most position inthe example shown in FIG. 38, corresponds to the default image 1060.Positions of the GUI thumb 1810 on the GUI track 1812 in between thezero position and the maximum position correspond to various degrees ofresolution of the image or various degrees of zoom. The system 10equates an arbitrary number with each of the possible degrees of zoom,and displays those arbitrary numbers to the user as the user moves theGUI thumb 1810 along the GUI track 1812 (i.e., the default image 1060).For example, the resolution of the image 1806 when the GUI thumb 1810 isat the zero position along the GUI track 1812 might be associated with azoom factor of 1, the resolution of the image 1806 when the GUI thumb1810 is at the mid-point along the GUI track 1812 might be associatedwith a zoom factor of 10, the resolution of the image 1806 when the GUIthumb 1810 is at the end point on the track might be associated with azoom factor of 20, etc. When the user decides upon a maximum possibleresolution of the image 1806, the user stops moving the GUI thumb 1810along the GUI track 1812. The position of the GUI thumb 1810 where theuser stopped tells the system 10 to what degree the image is to bemaximally zoomed, in that way the zoom factor, z, can be determined.

(4) Colors: The user may be prompted to select from among severalavailable color choices with respect to a given image 1806, so that oneof the interactive functions to be enabled with respect to the image1806 is to allow a user to perceive an object 16 depicted in the image1806 in different colors. In a preferred embodiment, as illustrated inFIG. 38, an icon or menu item 1814 is provided on the GUI 1800 thatcorresponds to the option of selecting color choices. When the icon ormenu item 1814 is clicked on with a mouse or otherwise chosen, a pop-upwindow 1811 will be presented to the user, as shown in FIG. 40, thatcontains a text box 1813 and two buttons, an image-selecting button 1815and an output button 1817. In the text box 1813, the user is prompted toenter a color choice, either by entering a word description of thecolor, e.g., “black,” or, alternatively, by entering the HTML code thatidentifies the path to the image having the desired color. Then the useris prompted to click on the image-selecting button 1815, which allowsthe user to identify to which images 12 or sets of images 14 the colorchoice is to apply. Finally, the user is prompted to click on the outputbutton 1817, and the system 10 will integrate the user's choices in theGUI 1800 into a format that is used when the interactive webpagecontaining the image(s) 12 is created.

Alternatively, when the icon or menu item 1814 is clicked on with amouse or otherwise chosen, a list of possible colors 1816 is presentedto the user. The list of possible colors 1816 may comprise actualswatches of colors 1818 that approximate the hue and brightness withwhich the color will appear when enabled for an image 12 and/or the listof possible colors may comprise the names of the colors, e.g., “brickred,” “navy blue,” etc. The user can select colors from the list ofpossible colors 1816 in a variety of other ways, such as by the userselecting colors by clicking on a possible color on the list with amouse.

(5) Supplemental Information: The user may be prompted to inputinformation into the GUI 1800 concerning an image 1806 that willidentify the locations at which highlighted areas 1202 will be displayedwith an image 12 to a user and the supplemental information 1206 thatwill be displayed to a user when a user mouses over or clicks on eachhighlighted area 1202. In a preferred embodiment, a supplementalinformation icon or menu item is provided on the GUI display 1808. Whena user selects the supplemental information icon, the image will bedisplayed at its actual size, i.e., the actual image 1050 will bedisplayed. The user can position the mouse at different locations on theimage 1806 at which the user wishes a highlighted area 1202 to appear inthe interactive-function-enabled form of the image 1806. If the userclicks with the mouse at a particular location, a small colored symbolssuch as a circle, will appear on the image and a text box or window willbecome enabled. The GUI 1800 will then prompt the user to specify whatsupplemental information 1206 to display when the highlighted area 1202is moused over or clicked on for the enabled image 12. For example, ifthe supplemental information 1206 comprises textual information, theuser will be prompted to input the text into the window.

In addition to the foregoing examples, the GUI 1800 can be configured toprompt a user for information that will be useful in enabling andimplementing the transport interactive function and the menu optionsinteractive function. In a preferred embodiment, if a user, for example,makes an error while inputting information in response to a prompt fromthe GUI 1800, or changes his or her mind about some information that hasalready been input, e.g., changes his or her mind about the degree ofzoom to select, the GUI 1800 has a “reset” option that will allow theuser to make changes to information that already has been input. Thisreset option may be invoked for all of the information about an image1806 the GUI 1800 prompts a user to input. Alternatively, it may becapable of being invoked separately for each type of information the GUI1800 prompts a user to input, e.g., the information input for the zoomfactor might be erased independently of any information that already hasbeen input at that point for the measuring interactive function. Thereset option preferably is invoked by the user's clicking on a “reset”button that is provided on the GUI display 1808.

In addition to allowing a user to select images 1806 and to inputinformation useful for enabling and carrying out interactive functionswith respect to those images, the GUI 1800 also permits a user tospecify the output format to which the enabled sets of images 14 are tobe output. For example, the user might select a temporary file, adatabase format, or any other data storage format. Alternatively, theuser might be able to send the output directly into a specifieddatabase. In addition, the GUI 1800 might permit a user to select fromamong different image compression formats for the output.

While the foregoing description of the GUI 1800 according to theinvention has been described with reference to particular interactivefunctions, it will be apparent to one with skill in the art that the GUI1800 can be configured to allow a user to enable virtually anyinteractive function with respect to an image or images 1806. Forexample, a user could use the GUI 1800 according to the invention toconfigure a menu option interactive function, or any other interactiveactive function that might be indicated for a given set of images 14.

In still other embodiments of the system 10 according to the invention,the same basic principles for the delivery of images and the enabling ofinteractive functions with respect to those images can be applied, withor without the use of the software 20, to render images on various formsof printed media, such as lenticular sheets, sets of images 14 withwhich a user can interact so as to perceive the illusion of 2-D or 3-Dmotion.

Accordingly, it will be appreciated that the invention provides a systemfor providing images to a user in a manner that the user perceives asenabling some form of interactivity with respect to the images,including but not limited to interactivity that results in the userperceiving the illusion of 2-D or 3-D motion of an object or objectsdepicted in the images. As will be readily apparent to a person ofordinary skill in the art and having the benefit of this disclosure,there will be a large number of possible ways of capturing the imagesdescribed and subsequently processing the images captured in a mannerthat allows the images to be interacted with in some fashion whendisplayed, for example, in digital or analog form, or when rendered inprinted form. All such applications are contemplated by the presentinvention, and may be used while staying within the inventive nature ofthe present disclosure. For example, the invention would haveapplication in the fields of medicine (e.g., for diagnosis), security(e.g., for identification), education (e.g., for allowing a student tomanipulate an object), entertainment (e.g., by studios for televisionand film projects), advertising (e.g., for product display), and so onand so forth. In addition, there are many more modifications than arementioned above which are possible without departing from the inventiveconcepts contained herein. Thus, although the description above containsmuch specificity, the description should not be construed as limitingthe scope of the invention; the descriptions given are merely providingan illustration of the embodiments of the invention. The scope of theinvention is determined by the appended claims and their legalequivalents.

What is claimed:
 1. An apparatus, comprising: a computing device and amemory, wherein the memory stores a set of computer instructions that,in response to being executed by the computing device, cause thecomputing device to perform operations comprising: defining at least onefirst layer for spatial perception, defining at least one second layerfor at least partial spatial perception relative to the at least onefirst layer, causing a first item to be associated with one of the atleast one first layer, pursuant to a select action, dynamically causinga second item to be associated with another of the at least one firstlayer, making the first item and the second item perceptible insequence, with only one of the first and second items perceptible at atime, so that at least one object in a set of items including the firstand second items is perceptible as moving, and creating an imperceptiblelayer associated with a currently-perceptible one of the first andsecond items.
 2. The apparatus of claim 1, wherein the set of itemsincludes a set of images stored in the memory which set the first andsecond items as first and second images, respectively, the first imagedepicting the at least one object viewed from a different perspectivethan the other images of the set of images; and wherein the computerinstructions include a set of DHTML computer instructions stored in thememory that, in response to being executed by the computing device inconnection with accessing a web page, cause the computing device toperform operations comprising: the defining of the at least one firstlayer, the defining of the at least one second layer, the causing of thefirst item as the first image to be associated with one of the at leastone first layer, and the dynamically causing the second item as thesecond image to be associated with the another of the at least one firstlayer.
 3. The apparatus of claim 1, wherein the computer instructions,in response to being executed by the computing device, further cause thecomputing device to output the one of the at least one first layerassociated with the first item as the currently-perceptible layer withthe first item being set for perception, and to swap out the first itemwith the second item set for perception.
 4. The apparatus of claim 1,wherein the computer instructions, in response to being executed by thecomputing device, further cause the computing device to enable at leastone interactive function to control a degree to which the moving isperceived.
 5. The apparatus of claim 1, wherein the computerinstructions, in response to being executed by the computing device,further cause the computing device to enable at least one interactivefunction to control at least one of a degree to which and the speed withwhich the moving is perceived.
 6. The apparatus of claim 1, wherein theset of items includes a set of images stored in the memory whichrespectively set the first and second items as first and second imagesand the one of the at least one first layer and the another of the atleast one first layer as first and second image layers, the first imagedepicting the at least one object viewed from a different perspectivethan the other images of the set of images; and wherein the computerinstructions, in response to being executed by the computing device,further cause the computing device to simulate, as the moving, arotation of the at least one object through three dimensions, includingdisplaying and hiding each of the first and second image layers in atleast one sequence.
 7. A computer-readable non-transitory storage mediumcontaining: a set of items, each representing at least one object viewedfrom a different perspective than other members of the set of items; anda set of DHTML computer instructions that, in response to being executedby a computing device, causes the computing device to perform operationscomprising: defining at least one first layer for spatial perception,defining at least one second layer for at least partial spatialperception relative to the at least one first layer, causing a firstitem to be associated with one of the at least one first layer, pursuantto a select action, dynamically causing a second item to be associatedwith another of the at least one first layer, making the first item andthe second item perceptible in sequence, with only one of the first andsecond items perceptible at a time, so that the at least one object inthe set of items including the first and second items is perceptible asmoving, and creating an imperceptible layer associated with acurrently-perceptible one of the first and second items.
 8. Thecomputer-readable non-transitory storage medium of claim 7, wherein theset of items includes a set of images which set the first and seconditems as first and second images, respectively, the first imagedepicting the at least one object viewed from a different perspectivethan the other images of the set of images.
 9. The computer-readablenon-transitory storage medium of claim 7, wherein the set of DHTMLcomputer instructions, in response to being executed by the computingdevice, further cause the computing device to output the one of the atleast one first layer associated with the first item as thecurrently-perceptible layer with the first item being set forperception, and to swap out the first item with the second item set forperception.
 10. The computer-readable non-transitory storage medium ofclaim 7, wherein the set of DHTML computer instructions, in response tobeing executed by the computing device, further cause the computingdevice to enable at least one interactive function to control a degreeto which the moving is perceived.
 11. The computer-readablenon-transitory storage medium of claim 7, wherein the set of DHTMLcomputer instructions, in response to being executed by the computingdevice, further cause the computing device to enable at least oneinteractive function to control at least one of a degree to which andthe speed with which the moving is perceived.
 12. The computer-readablenon-transitory storage medium of claim 7, wherein the set of itemsincludes a set of images which respectively set the first and seconditems as first and second images and the one of the at least one firstlayer and the another of the at least one first layer as first andsecond image layers, the first image depicting the at least one objectviewed from a different perspective than the other images of the set ofimages; and wherein the set of DHTML computer instructions, in responseto being executed by the computing device, further cause the computingdevice to simulate, as the moving, a rotation of the at least one objectthrough three dimensions, including displaying and hiding each of thefirst and second image layers in at least one sequence.
 13. A method forpresentation of items with a device comprising a computing device and amemory, comprising: executing, by the computing device, a set of DHTMLcomputer instructions to perform operations comprising: defining atleast one first layer for spatial perception, defining at least onesecond layer for at least partial spatial perception relative to the atleast one first layer, causing a first item to be associated with one ofthe at least one first layer, pursuant to a select action, dynamicallycausing a second item to be associated with another of the at least onefirst layer, making the first item and the second item perceptible insequence, with only one of the first and second items perceptible at atime, so that at least one object in a set of items including the firstand second items is perceptible as moving, and creating an imperceptiblelayer associated with a currently-perceptible one of the st and seconditems.
 14. The method of claim 13, further comprising, with thecomputing device, executing the set of DHTML computer instructionsfurther to perform operations comprising outputting the one of the atleast one first layer associated with the first item as thecurrently-perceptible layer with the first item being set forperception, and swapping out the first item with the second item set forperception.
 15. The method of claim 13, further comprising, with thecomputing device, executing the set of DHTML computer instructionsfurther to perform operations comprising enabling at least oneinteractive function to control a degree to which the moving isperceived.
 16. The method of claim 13, further comprising, with thecomputing device, executing the set of DHTML computer instructionsfurther to perform operations comprising enabling at least oneinteractive function to control at least one of a degree to which andthe speed with which the moving is perceived.
 17. The method of claim13, wherein the set of items includes a set of images stored in thememory which respectively set the first and second items as first andsecond images and the one of the at least one first layer and theanother of the at least one first layer as first and second imagelayers, the first image depicting the at least one object viewed from adifferent perspective than the other images of the set of images; andwherein the method further comprises, with the computing device,executing the set of DHTML computer instructions further to performoperations comprising simulating, as the moving, a rotation of the atleast one object through three dimensions, including displaying andhiding each of the first and second image layers in at least onesequence.